From 1fbd517efa42178f9fdfc28280558f8ed5bb11fe Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Wed, 12 Aug 2026 09:50:30 +0800 Subject: [PATCH] =?UTF-8?q?s-day10-=E4=BD=BF=E7=94=A8FileReader=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E4=B8=AD=E6=96=87=E4=BA=A7=E7=94=9F=E7=9A=84=E4=B9=B1?= =?UTF-8?q?=E7=A0=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- s-day10/src/com/inmind/buffered01/Demo04.java | 2 +- .../com/inmind/transfer_stream02/Demo06.java | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 s-day10/src/com/inmind/transfer_stream02/Demo06.java 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(); + } +}