进阶day10-使用FileReader读取中文产生的乱码问题

This commit is contained in:
2026-03-23 14:23:34 +08:00
parent eb74979f6e
commit cbb90a035e

View File

@@ -0,0 +1,29 @@
package com.inmind.transfer_stream02;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/*
使用字符流,读取电脑中的文件数据到java内存,并打印内容
出现乱码的原因:中文数据在读写操作的前后的编码方式不一致(gbk utf-8).
注意:
1.UTF-8字母和数字只占1个字节而一个中文占3个字节它的前128个字符完全兼容ASCII码表
2.GBK字母和数字只占1个字节而一个中文占2个字节它的前128个字符完全兼容ASCII码表
*/
public class Demo07 {
public static void main(String[] args) throws IOException {
// FileReader fr = new FileReader("D:\\io_test\\file_gbk.txt");
FileReader fr = new FileReader("D:\\io_test\\file.txt");
char[] chars = new char[1024];
int len;
while ((len = fr.read(chars)) != -1) {
System.out.println(new String(chars,0,len));
}
fr.close();
}
}