流操作规律
一、转换流
1、转换流的作用:
a、字符流与字节流转换的桥梁
b、编码转换时使用转换流
2、转换流的应用:
字节流中的数据都是字符时,转成字符流操作更高效
3.将字节流通向字符流
转换输入流:
BufferedReaderin=new BufferedReader(new InputStreamReader(System.in));
转换输出流:
BufferedWriter bw =new BufferedWriter(new OutputStreamWriter(System.out),"UTF-8");
二、流操作规律
1.明确源和目的:**重点内容**
源: 输入流 InputStream Reader
目的: 输出流 OutputStream Writer
2.操作的数据是否是纯文本:
是: 字符流
不是: 字节流
3.当体系明确后,在确定使用哪个具体的对象
源设备: 内存 硬盘 键盘
目的设备: 内存 硬盘 控制台
4.是否需要提高效率:
例如:
1.将一个文本文件的数据拷贝到另外一个文本文件中
1源: InputStream Reader
目的: OutputStream Writer
2是否纯文件:是
Reader Writer
3 确定设备: 硬盘-->硬盘
FileReader FileWriter
4 提高效率:
BufferedReader BuffereadWriter
2.将一个图片文件拷贝到另外一个文件
1 源: InputStream Reader
目的: OutputStream Writer
2.是否纯文本:否
InputStream OutputStream
3.确定设备:硬盘-->硬盘
FileInputStram FileOutputStream
4.提高效率:
BufferedInputStream BufferedOutputStream
3.将键盘录入的数据保存到文件中(使用UTF-8):
1 源: InputStream Reader
目的:OutputStream Writer
2 是否纯文本:是
Reader Writer
3 确定设备:键盘-->硬盘
键盘:对应的对象是System.in.是字节流对象,需要将System.in转换成字符流(FileWriter只能使用默认的编码表(GBK)
InputStreamReader OutputStreamWriter
4 提高效率:
BufferedReader BufferedWriter
4.将一个文本数据打印到控制台
1 源: InputStream Reader
目的: OutputStream Writer
2 是否纯文本:否
Reader OutputStreamWriter
3 明确设备:硬盘-->控制台
FileReader OutputStreamWriter(System.out)
4 提高效率:
BufferedReader BufferedWriter