s-day10-使用FileReader读取中文产生的乱码问题
This commit is contained in:
@@ -15,7 +15,7 @@ public class Demo04 {
|
||||
String readLine() 读一行文字。
|
||||
*/
|
||||
// BufferedReader br = new BufferedReader(new FileReader("source2.txt"));
|
||||
BufferedReader br = new BufferedReader(new FileReader("\\src\\com\\inmind\\buffered01\\Demo01.java"));
|
||||
BufferedReader br = new BufferedReader(new FileReader("s-day10\\src\\com\\inmind\\buffered01\\Demo01.java"));
|
||||
/*String line = br.readLine();
|
||||
System.out.println(line);
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.inmind.transfer_stream02;
|
||||
|
||||
import java.io.FileReader;
|
||||
|
||||
/*
|
||||
使用字符流,读取电脑中的文件数据到java内存
|
||||
|
||||
出现乱码的原因:中文数据在读写操作的前后的编码方式不一致.
|
||||
注意:
|
||||
1.UTF-8,字母和数字只占1个字节,而一个中文占3个字节,它的前128个字符完全兼容ASCII码表
|
||||
2.GBK,字母和数字只占1个字节,而一个中文占2个字节,它的前128个字符完全兼容ASCII码表
|
||||
*/
|
||||
public class Demo06 {
|
||||
public static void main(String[] args) throws Exception {
|
||||
//字符输入流
|
||||
// FileReader fr = new FileReader("D:\\io_test\\file_gbk.txt");//gbk编码,utf-8解码出现了乱码
|
||||
FileReader fr = new FileReader("D:\\io_test\\file_utf8.txt");
|
||||
//一次读取一个字符数组的方式
|
||||
char[] chars = new char[1024];
|
||||
int len;
|
||||
while ((len = fr.read(chars)) != -1) {
|
||||
System.out.println(new String(chars,0,len));
|
||||
}
|
||||
|
||||
fr.close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user