Vous pouvez spécifier un encodage tel que: UTF-8 pour écrire et lire des fichiers. Si le codage du fichier est inconnu, vous pouvez utiliser cette méthode pour obtenir d'abord le codage du fichier, puis spécifier le codage correct pour le lire, sinon le problème brouillé du fichier se produira.
Comment identifier l'encodage des fichiers, veuillez vous référer à: Java se lit automatiquement en fonction de l'encodage du contenu de fichier pour éviter le code brouillé
La copie de code est la suivante:
Package com.zuidaima.util;
Importer java.io.bufferedReader;
Importer java.io.BufferedWriter;
Importer java.io.file;
import java.io.fileInputStream;
Importer java.io.fileOutputStream;
Importer java.io.ioException;
Importer java.io.inputStreamReader;
import java.io.outputStreamWriter;
classe publique readwritefilewithencode {
public static void write (String Path, String Content, String Encoding)
lance iOException {
Fichier fichier = nouveau fichier (chemin);
file.delete ();
file.CreateEwFile ();
BufferedWriter Writer = new BufferedWriter (New OutputStreamWriter (
nouveau fileOutputStream (fichier), codage));
écrivain.write (contenu);
écrivain.close ();
}
Public Static String Read (String Path, String Encoding) lève IOException {
String contenu = "";
Fichier fichier = nouveau fichier (chemin);
BufferedReader Reader = new BufferedReader (New InputStreamReader (
nouveau fileInputStream (fichier), codage));
Chaîne line = null;
while ((line = reader.readline ())! = null) {
Contenu + = ligne + "/ n";
}
Reader.Close ();
retourner le contenu;
}
public static void main (String [] args) lance ioException {
String Content = "Chinese Content";
String path = "c: /test.txt";
String Encoding = "UTF-8";
ReadwriteFileWitheNcode.write (chemin, contenu, encodage);
System.out.println (readwriteFileWitHencode.read (chemin, encodage));
}
}