คุณสามารถระบุการเข้ารหัสเช่น: UTF-8 เพื่อเขียนและอ่านไฟล์ หากไม่ทราบการเข้ารหัสไฟล์คุณสามารถใช้วิธีนี้เพื่อรับการเข้ารหัสไฟล์ก่อนจากนั้นระบุการเข้ารหัสที่ถูกต้องเพื่ออ่านมิฉะนั้นปัญหาที่อ่านไม่ออกไฟล์จะเกิดขึ้น
วิธีระบุการเข้ารหัสไฟล์โปรดดูที่: Java อ่านโดยอัตโนมัติตามการเข้ารหัสเนื้อหาไฟล์เพื่อหลีกเลี่ยงรหัสที่อ่านไม่ออก
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ com.zuidaima.util;
นำเข้า java.io.bufferedreader;
นำเข้า java.io.bufferedwriter;
นำเข้า Java.io.File;
นำเข้า Java.io.FileInputStream;
นำเข้า Java.io.FileOutputStream;
นำเข้า java.io.ioException;
นำเข้า Java.io.InputStreamReader;
นำเข้า Java.io.OutputStreamWriter;
คลาสสาธารณะ readWriteFileWithEncode {
Public Static Void Write (เส้นทางสตริง, เนื้อหาสตริง, การเข้ารหัสสตริง)
โยน ioexception {
ไฟล์ไฟล์ = ไฟล์ใหม่ (พา ธ );
file.delete ();
file.createnewfile ();
BufferedWriter Writer = New BufferedWriter (New OutputStreamWriter (
ใหม่ fileOutputStream (ไฟล์), การเข้ารหัส));
Writer.write (เนื้อหา);
Writer.close ();
-
การอ่านสตริงคงที่สาธารณะ (เส้นทางสตริงการเข้ารหัสสตริง) พ่น IOException {
เนื้อหาสตริง = "";
ไฟล์ไฟล์ = ไฟล์ใหม่ (พา ธ );
bufferedReader reader = new bufferedReader (ใหม่ inputStreamReader (
ใหม่ FileInputStream (ไฟล์), การเข้ารหัส));
สตริงบรรทัด = null;
ในขณะที่ ((line = reader.readline ())! = null) {
เนื้อหา + = line + "/n";
-
reader.close ();
ส่งคืนเนื้อหา;
-
โมฆะคงที่สาธารณะหลัก (String [] args) พ่น IOException {
เนื้อหาสตริง = "เนื้อหาภาษาจีน";
String Path = "C: /test.txt";
String encoding = "UTF-8";
ReadWriteFileWithEncode.write (เส้นทาง, เนื้อหา, การเข้ารหัส);
System.out.println (ReadWriteFileWithEncode.read (พา ธ การเข้ารหัส));
-
-