Как правильно установить кодировку символов по умолчанию, используемую 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это поток ввода-вывода, основанный на байтах, так почему нужно заботиться о наборе символов в потоке ввода-вывода на основе байтов?