Lire fichier contenant de l'unicode
Bonjour
j'ai un fichier qui est en UTF-8 et contenant des données unicode
Code:
\u65e5\u672c\u8a9e\u6587\u5b57\u5217
j'ai réalisé deux méthodes l'une permettant de lire le contenu du fichier et l'autre l'enregistrer dans un autre fichier
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
static String readInput(String file) {
StringBuffer buffer = new StringBuffer();
try {
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis, "UTF8");
Reader in = new BufferedReader(isr);
int ch;
while ((ch = in.read()) > -1) {
buffer.append((char) ch);
}
in.close();
return buffer.toString();
} catch (IOException e) {
e.printStackTrace();
return null;
}
} |
Ecriture
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
static void writeOutput(String str, String file) {
try {
FileOutputStream fos = new FileOutputStream(file);
Writer out = new OutputStreamWriter(fos, "UTF8");
out.write(str);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
} |
si le texte unicode est affiché au moyen d'un simple
Code:
1 2 3 4
|
System.out.println("\u65e5\u672c\u8a9e\u6587\u5b57\u5217");
Resultat :
日本語文字列 |
le résultat est correcte