Frage

i analysierte einen Text (CAL-Code) mit BufferedReader und BufferedWriter in Java leiden Linien, die ich rot und schrieb mit outStream.write (Linie); geändert haben, schauen Sie bitte auf Screenshots:

http://uploadz.eu/images/4qz8mtkm2d9zx3x5ms3n.png h ** p: //uploadz.eu/images/c03hgkrgrmit2ij2mug.png

Wie Sie sehen, einige Sonderzeichen die Linien geändert hat, obwohl ich sie nicht ändern soll.

soweit ich weiß, BufferedWriter / Reader sollte standardmäßig in Unicode arbeiten.

War es hilfreich?

Lösung

Nun BufferedWriter und BufferedReader codieren Agnostiker -. Sie nie die tatsächlichen Kodierungen umgehen, wie sie gerade vorhandene Leser und Schreiber Pufferung

Jetzt FileWriter und FileReader verwenden, um die Standard-System-Codierung (urgh). Um runde dies zu umgehen, sollten Sie in der Regel ein InputStream / InputStreamReader oder OutputStream / OutputStreamWriter Paar verwenden (möglicherweise in einem BufferedReader / BufferedWriter verpackt), und geben Sie die Codierung explizit.

Sie haben nicht gesagt, was du liest eigentlich aus - es ist eine Datei? Haben Sie die Codierung der Datei wissen?

Andere Tipps

Sie sollten entweder wissen die Codierung, wenn Sie den Inhalt als Text (String) zu behandeln sind, oder, wenn das Kopieren Ihr Ziel ist es, oder den Inhalt als Byte-Array behandeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top