Puede especificar la codificación como: UTF-8 para escribir y leer archivos. Si se desconoce la codificación del archivo, puede usar este método para obtener primero la codificación del archivo y luego especificar la codificación correcta para leerlo; de lo contrario, se producirá el problema de archivos.
Cómo identificar la codificación de archivos, consulte: Java se lee automáticamente de acuerdo con la codificación del contenido del archivo para evitar el código confuso
La copia del código es la siguiente:
paquete com.zuidaima.util;
import java.io.bufferedReader;
import java.io.bufferedwriter;
import java.io.file;
import java.io.fileInputStream;
import java.io.fileOutputStream;
import java.io.ioException;
import java.io.inputstreamreader;
import java.io.outputstreamwriter;
clase pública ReadWriteFileWithEnDENDE {
Public static void Write (ruta de cadena, contenido de cadena, codificación de cadenas)
lanza ioexception {
Archivo archivo = nuevo archivo (ruta);
file.delete ();
file.createenewfile ();
BufferedWriter Writer = New BufferedWriter (nuevo OutputStreamWriter (
nuevo FileOutputStream (archivo), codificación));
escritor.write (contenido);
escritor.close ();
}
public static string read (ruta de cadena, codificación de cadena) lanza ioexception {
String content = "";
Archivo archivo = nuevo archivo (ruta);
BufferedReader Reader = new BufferedReader (new InputStreamReader (
nuevo fileInputStream (archivo), codificación));
Línea de cadena = nulo;
while ((línea = lector.readline ())! = null) {
contenido + = línea + "/n";
}
lector.close ();
devolver contenido;
}
public static void main (string [] args) lanza ioexception {
String content = "contenido chino";
String ruta = "c: /test.txt";
Codificación de cadena = "UTF-8";
ReadWriteFileWithencode.Write (ruta, contenido, codificación);
System.out.println (readWriteFileWithEncode.read (ruta, codificación));
}
}