Як правильно встановити кодування символів за замовчуванням, яке програмно використовується JVM (1.5.x)?
Я читав, що -Dfile.encoding=whatever
раніше був шлях до старших СВМ. У мене немає такої розкоші з причин, в які я не хочу потрапити.
Я намагався:
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
потік вводу / виводу на основі байтів, то чому б слід дбати про набір символів у потоці вводу / виводу на байті?