diff --git a/s-day10/src/com/inmind/buffered01/Demo04.java b/s-day10/src/com/inmind/buffered01/Demo04.java index f4916d5..e9683f7 100644 --- a/s-day10/src/com/inmind/buffered01/Demo04.java +++ b/s-day10/src/com/inmind/buffered01/Demo04.java @@ -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); diff --git a/s-day10/src/com/inmind/transfer_stream02/Demo06.java b/s-day10/src/com/inmind/transfer_stream02/Demo06.java new file mode 100644 index 0000000..9873c9a --- /dev/null +++ b/s-day10/src/com/inmind/transfer_stream02/Demo06.java @@ -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(); + } +}