Wie stelle ich die von der JVM (1.5.x) programmgesteuert verwendete Standardzeichenkodierung richtig ein?
Ich habe gelesen, dass dies -Dfile.encoding=whatever
früher der Weg für ältere JVMs war. Ich habe diesen Luxus aus Gründen, auf die ich nicht eingehen werde.
Ich habe versucht:
System.setProperty("file.encoding", "UTF-8");
Die Eigenschaft wird festgelegt, aber es scheint nicht zu bewirken, dass der letzte getBytes
Aufruf unten UTF8 verwendet:
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());
file.encoding
Eigenschaft wird nicht unterstützt .
class Reader
& class Writer
)? Da class FileInputStream
es sich um einen bytebasierten E / A-Stream handelt, warum sollte man sich also für den Zeichensatz im bytebasierten E / A-Stream interessieren?