Làm cách nào để đặt đúng mã hóa ký tự mặc định được sử dụng bởi JVM (1.5.x) theo chương trình?
Tôi đã đọc được rằng đó -Dfile.encoding=whatever
là cách để sử dụng các JVM cũ hơn. Tôi không có sự xa xỉ đó vì những lý do tôi sẽ không tham gia.
Tôi đã thử:
System.setProperty("file.encoding", "UTF-8");
Và thuộc tính được đặt, nhưng dường như không gây ra getBytes
cuộc gọi cuối cùng bên dưới để sử dụng 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
tính không được hỗ trợ .
class Reader
& class Writer
)? Vì class FileInputStream
là luồng I / O dựa trên byte, vậy tại sao người ta nên quan tâm đến bộ ký tự trong luồng I / O dựa trên byte?