Как правильно установить кодировку символов по умолчанию, используемую JVM (1.5.x) программно?
Я читал, что -Dfile.encoding=whatever
раньше это был путь для старых JVM. У меня нет такой роскоши по причинам, в которые я не пойду.
Я пытался:
System.setProperty("file.encoding", "UTF-8");
И свойство устанавливается, но, похоже, не вызывает последний getBytes
вызов ниже использовать UTF8:
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
свойства не поддерживается .
class Reader
& class Writer
)? Поскольку class FileInputStream
это поток ввода-вывода, основанный на байтах, так почему нужно заботиться о наборе символов в потоке ввода-вывода на основе байтов?