Comment puis-je définir correctement le codage des caractères par défaut utilisé par la JVM (1.5.x) par voie programmatique ?
J'ai lu que -Dfile.encoding=whatever
était la solution pour les anciennes JVM... Je n'ai pas ce luxe pour des raisons que je n'aborderai pas.
J'ai essayé :
System.setProperty("file.encoding", "UTF-8");
Et la propriété est définie, mais cela ne semble pas provoquer l'utilisation de UTF8 dans l'appel final getBytes ci-dessous :
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());