Bagaimana cara mengatur pengkodean karakter default yang digunakan oleh JVM (1.5.x) secara terprogram?
Saya telah membaca bahwa -Dfile.encoding=whatever
dulu cara untuk pergi untuk JVM yang lebih tua. Saya tidak memiliki kemewahan itu untuk alasan saya tidak mau masuk.
Saya telah mencoba:
System.setProperty("file.encoding", "UTF-8");
Dan properti diatur, tetapi sepertinya tidak menyebabkan getBytes
panggilan terakhir di bawah ini untuk menggunakan 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
properti tidak didukung .
class Reader
& class Writer
)? Karena class FileInputStream
stream I / O berbasis byte, jadi mengapa kita harus peduli dengan set karakter dalam stream I / O berbasis byte?