Ich verwende den folgenden Code, um eine große Textdatei zeilenweise zu verarbeiten. Das Problem ist, dass ich eine andere Sprache als Englisch verwende, um genau zu sein. Viele der Zeichen erscheinen in der Ausgabedatei als . Wie kann ich das beheben?BufferedWriter gibt seltsame Zeichen aus, wenn sie in einer neuen Datei gespeichert werden
Die Datei befindet sich in ANSI, aber dies scheint kein mit InputStreamReader kompatibler Codierungstyp zu sein. Für welchen Kodierungstyp sollte ich die Originaldatei speichern?
try (BufferedWriter bw = new BufferedWriter(new FileWriter(FILENAME))) {
String line;
try {
try (
InputStream fis = new FileInputStream("C:\\Users\\marti\\Documents\\Software Projects\\Java Projects\\TwitterAutoBot\\src\\main\\resources\\EH.Txt"); InputStreamReader isr = new InputStreamReader(fis, Charset.forName("UTF-8")); BufferedReader br = new BufferedReader(isr);
) {
while ((line = br.readLine()) != null) {
// Deal with the line
String content = line.substring(line.lastIndexOf(" ") + 1);
System.out.println(content);
bw.write("\n\n" + content);
}
}
} catch (IOException e) {
e.printStackTrace();
}
// bw.close();
} catch (IOException e) {
e.printStackTrace();
}
Welche Codierung verwendet Ihre Eingabedatei? –
@GregKopff Es ist in ANSI. – santafebound
@MartinErlic Wenn es "ANSI" ist, * warum * hast du ** 'UTF-8' ** in deinem Code angegeben? --- Wenn es ['ANSI'] ist (https://en.wikipedia.org/wiki/ANSI_character_set), ist der Geschmack von [erweitertem ANSI] (https://en.wikipedia.org/wiki/Extended_ASCII) es? – Andreas