如何以编程方式正确设置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());
class Reader
&的所有子类class Writer
)时,“ file.encoding”是否相关,这不是真的吗?因为class FileInputStream
是基于字节的I / O流,所以为什么要关心基于字节的I / O流中的字符集?