JVM (1.5.x) tarafından kullanılan varsayılan karakter kodlamasını program aracılığıyla nasıl düzgün bir şekilde ayarlayabilirim?
-Dfile.encoding=whatever
Eskiden eski JVM'ler için bir yol olduğunu okudum . İçeri girmeyeceğim nedenlerden dolayı o lüksüm yok.
Denedim:
System.setProperty("file.encoding", "UTF-8");
Ve özellik ayarlanır, ancak getBytes
aşağıdaki son çağrının UTF8'i kullanmasına neden görünmüyor :
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
özelliği olan desteklenmez .
class Reader
& 'nin tüm alt sınıfları class Writer
) kullanıldığında, "file.encoding" in ilgili olduğu doğru değil mi? Çünkü class FileInputStream
bayt I / O akışı dayanır, böylece bir byte temelli I / O akışında karakter kümesine önemsemeliyiz neden?