IO流之字符流

字符输入流Reader

同使用其子类FileReader

构造方法也与字节流相同

 单个字符读

1         //明确数据源
2         FileReader fr = new FileReader("D:\io0429\demo01.txt");
3         //单个字符读
4         int len = 0;
5         while((len = fr.read()) != -1){
6             System.out.println((char)len);
7         }
8         //释放资源
9         fr.close();

单个字符数组读

1         //明确数据源
2         FileReader fr = new FileReader("D:\io0429\demo01.txt");
3         //按字符数组读
4         char[] ch = new char[1024];
5         int len = 0;
6         while((len = fr.read(ch)) != -1){
7             System.out.println(new String(ch,0,len));
8         }
9         fr.close();

 

字符输出流Writer

使用其子类FileWriter

构造方法也相同

单个字符/单个字符数组输出

 1         //明确目的地
 2         FileWriter fw = new FileWriter("D:\io0429\demo02.txt");
 3         //写入一个字符
 4         fw.write(100);
 5         fw.flush();
 6         //写入一个字符数组
 7         char[] ch = {'你','a','0','好'};
 8         fw.write(ch);
 9         fw.flush();
10         fw.write(ch,1,2);
11         fw.flush();
12         fw.write("海绵宝宝");
13         fw.flush();
14         fw.write("派大星",0,1);
15         //释放资源
16         fw.close();

字符复制文件练习

 1         //单个字符复制
 2         //明确数据源
 3         FileReader fr = new FileReader("D:\io0429\demo02.txt");
 4         //明确目的地
 5         FileWriter fw = new FileWriter("D:\io0429\hello\demo03.txt");
 6         int len = 0;
 7         while((len = fr.read()) != -1){
 8             fw.write(len);
 9             fw.flush();
10         }
11         //释放资源
12         fw.close();
13         fr.close();
 1         //单个字符数组复制
 2         //明确数据源
 3         FileReader fr = new FileReader("D:\io0429\demo02.txt");
 4         //明确目的地
 5         FileWriter fw = new FileWriter("D:\io0429\copy.txt");
 6         char[] ch = new char[1024];
 7         int len = 0;
 8         while((len = fr.read(ch)) != -1){
 9             fw.write(ch,0,len);
10             fw.flush();
11         }
12         //释放资源
13         fw.close();
14         fr.close();

总结下来,字符与字节的使用方法基本相同,那他的区别在什么地方?

区别就在于,当你传输图片或视频的类似文件时,因其内部是有字节编码组成,所以只有使用字节操作才能使用。而字符操作文本文档类似文件,效率会更高。

原文地址:https://www.cnblogs.com/shenhx666/p/15060629.html