¿Cómo configuro correctamente la codificación de caracteres predeterminada utilizada por JVM (1.5.x) mediante programación?
He leído que -Dfile.encoding=whatever
solía ser el camino a seguir para las JVM más antiguas. No tengo ese lujo por razones en las que no me involucraré.
Yo he tratado:
System.setProperty("file.encoding", "UTF-8");
Y la propiedad se establece, pero no parece causar que la última getBytes
llamada a continuación use 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
)? Debido a que class FileInputStream
es un flujo de E / S basado en bytes, entonces ¿por qué uno debería preocuparse por el conjunto de caracteres en el flujo de E / S basado en bytes?