Dateien werden beim Kopieren zerstört

  • Themenstarter Themenstarter Gast333
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Gast333

Gast
Hallo, ich benutze folgenden Code um eine Datei von einem in ein anderes Verzeichniss zu kopieren. Bei TXT Dateien funktioniert das binaere (z.b. jpg) werden dabie jedoch zerstoert, d.h. das bild ist voeliger murks, groesse ist jedoch gleich dem original.

Code:
  private void copyFile(String source, String destination)
  {
    int i;
    try {
      BufferedReader in = new BufferedReader(new FileReader(source));
      BufferedWriter out = new BufferedWriter(new FileWriter(destination));
      while ( (i = in.read()) != -1)
        out.write(i);
      in.close();
      out.close();
    }
    catch (Exception e) { ccUtil.Monitor(e.getMessage()); }
  }

thx fuer die hilfe
 
für binäre Dateien kannst du keinen Writer bzw. Reader nehmen, weil die alles als Text interpretieren

da musst du schon mit BufferedInputStream etc. arbeiten, lies mal die Dokumentation zu java.io.*
 
Genau:
Code:
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("bla.exe"));
Jetzt noch Input mit Output austauschen, und du hast die beiden Zeilen schon ;-)
 
So:

Code:
private void copyFile(String source, String destination)
  {
    try {
      InputStream in = new FileInputStream(source);
      OutputStream out = new FileOutputStream(destination);
      byte[] buffer = new byte[1024];
      for (int n;(n = in.read(buffer)) != -1;out.write(buffer, 0, n));     
      in.close();
      out.close();
    }
    catch (Exception e) { ccUtil.Monitor(e.getMessage()); }
  }
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben