Bonjour
j'ai un fichier qui est en UTF-8 et contenant des données unicodej'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 : Sélectionner tout - Visualiser dans une fenêtre à part \u65e5\u672c\u8a9e\u6587\u5b57\u5217
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
si le texte unicode est affiché au moyen d'un simple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); } }
le résultat est correcte
Code x : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 System.out.println("\u65e5\u672c\u8a9e\u6587\u5b57\u5217"); Resultat : 日本語文字列
Partager