413 Stimmen

Einstellen der Standard-Java-Zeichenkodierung

Wie kann ich die von der JVM (1.5.x) verwendete Standard-Zeichenkodierung programmatisch richtig einstellen?

Ich habe gelesen, dass -Dfile.encoding=whatever war früher der richtige Weg für ältere JVMs. Ich habe nicht diesen Luxus aus Gründen, die ich nicht in bekommen.

Ich habe es versucht:

System.setProperty("file.encoding", "UTF-8");

Und die Eigenschaft wird gesetzt, aber sie scheint nicht zu bewirken, dass die endgültige getBytes Aufruf unten, um UTF8 zu verwenden:

System.setProperty("file.encoding", "UTF-8");

byte inbytes[] = new byte[1024];

FileInputStream fis = new FileInputStream("response.txt");
fis.read(inbytes);
FileOutputStream fos = new FileOutputStream("response-2.txt");
String in = new String(inbytes, "UTF8");
fos.write(in.getBytes());

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X