Bonjour
j'ai un fichier qui est en UTF-8 et contenant des données unicode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
\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 : 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
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();
		}
	}
si le texte unicode est affiché au moyen d'un simple
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 :
日本語文字列
le résultat est correcte