Sie können Codierung angeben, z. B. UTF-8 zum Schreiben und Lesen von Dateien. Wenn die Dateicodierung unbekannt ist, können Sie diese Methode verwenden, um die Dateicodierung zuerst zu erhalten und dann die richtige Codierung anzugeben, um sie zu lesen, andernfalls wird das Problem der Datei verstümmelt.
So identifizieren Sie die Dateicodierung. Siehe: Java liest automatisch gemäß der Codierung von Dateiinhalten, um verstümmelten Code zu vermeiden
Die Codekopie lautet wie folgt:
Paket com.zuidaima.util;
Import Java.io.BufferedReader;
Import Java.io.BufferedWriter;
Import Java.io.file;
import Java.io.FileInputStream;
importieren java.io.fileoutputStream;
importieren java.io.ioException;
importieren java.io.inputStreamReader;
importieren java.io.outputStreamwriter;
öffentliche Klasse ReadWriteFileWithEcode {
public static void write (String Pfad, String -Inhalt, String -Codierung)
löst ioException {aus
Datei Datei = neue Datei (Pfad);
Datei.delete ();
Datei.CreateNewFile ();
BufferedWriter Writer = New BufferedWriter (New OutputStreamWriter (
neuer FileOutputStream (Datei), Codierung));
writer.write (content);
writer.close ();
}
public static String Read (String Pfad, String -Codierung) löst IoException {aus
String content = "";
Datei Datei = neue Datei (Pfad);
BufferedReader Reader = New BufferedReader (New InputStreamReader (
neuer FileInputStream (Datei), Codierung));
String line = null;
while ((line = reader.readline ())! = null) {
Inhalt + = Zeile + "/n";
}
reader.close ();
Inhalt zurückgeben;
}
public static void main (String [] args) löst ioException {aus
String content = "chinesischer Inhalt";
String path = "c: /test.txt";
String coding = "utf-8";
ReadWriteFileWithEcode.write (Pfad, Inhalt, Codierung);
System.out.println (ReadWriteFileWithEcode.read (Pfad, Codierung));
}
}