s-day10-使用FileReader读取中文产生的乱码问题
This commit is contained in:
@@ -15,7 +15,7 @@ public class Demo04 {
|
|||||||
String readLine() 读一行文字。
|
String readLine() 读一行文字。
|
||||||
*/
|
*/
|
||||||
// BufferedReader br = new BufferedReader(new FileReader("source2.txt"));
|
// 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();
|
/*String line = br.readLine();
|
||||||
System.out.println(line);
|
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