Fehler beim Schreiben von Datein

Status
Nicht offen für weitere Antworten.

Illuminatus0301

Aktives Mitglied
Ich hab ein Java-Programm geschrieben, womit ich viele Dateinamen nach dem gleichen Muster ändern kann (ich bin ein Ordnungs fanatiker und will zum Beispiel die Namen von meiner Musik immer gleich haben). So, jetzt kommt aber bei den neuen Datein was falsches raus, bei Musikdatein zum Beispiel wird immer eine shcwankende Frequenz hinzugefügt, obwohl sich die Dateigröße nicht ändert.
Jetzt hab ich mal die Dateien vergleichen lassen und immer waren ca. 1,5% der Bytes unterschiedlich.

Hier der Code mit dem ich die Datei kopiert hab:
Code:
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(oldFile)));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(newFile)));

while (reader.ready()) {
   writer.write(reader.read());
}

reader.close();
writer.close();
 
schau dir mal an welche Zeichen das sind, welche byte Werte diese haben und wohin sie konvertiert werden

ist bestimmt ein Encoding-Problem dass man genauer anschauen kann wenn du genauere Werte lieferst,

vielleicht benutzt du aber einfach File.renameTo(),
wenn du den Inhalt der Dateien gar nicht ändern möchtest?
 
Bei Binärdateien, was ja Musikdateien immer sind, würde ich nicht mit
BufferedReader(Writer) hantieren.

Nutze einen simplen FileInput(Output)Stream und lese gleich blockweise
(ein byte-Array von 1 MB macht dich schließlich nicht arm)
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben