IO流操作基本规律总结
2012-04-04 11:44
295 查看
1、明确源和目的:
源:输入流 InputStream Reader
目的:输出流 OutStream Writer
2.操作的数据是否是纯文本
是 字符流 Reader Writer
否字节流 InputStream OutputStream
3、体系明确后,要确定使用哪个具体对象
根据设备分
源设备:内存 硬盘键盘
目的设备: 内存硬盘 控制台
根据设备的需求,使用转换流:InputStreamReader OutputStreamWriter
4、为了提高效率,选择缓冲流:Buffered----
*************************************常见实例分析*******************************
一、将一个文本文件中的数据存储到另外一个文件---字符流文件复制
源:因为是读取流,所以要用读取流 InputStream Reader,是文本文件, 确定为Reader;
明确设备 :硬盘 上一个文件,Reader体系中可以操作文件的对象 FileReader:
FileReader fr = new FileReader("xx.txt");
是否要提高效率:是 BufferedReader: BufferedReader bufr = new BufferedReader(fr);
目的:输出流 OutputStream Writer 文本文件 :Writer
明确设备 硬盘 一个新增文件 Writer体系中可以操作文件的对象 FileWriter
FileWriter fw = new FileWriter("xx_copy.txt");
是否要提高效率:是 BufferedWriter BufferedWriter bufw = new BufferedWriter(fw);
2、一个图片文件存储到另外一个文件-----字节流文件复制
源:因为是读取流,所以要用读取流 InputStream Reader 图片文件 确定为InputStream
明确设备 硬盘 上一个文件 Reader体系中可以操作文件的对象 FileInputStream
FileInputStream fis = new FileInputStream("xx.jpg");
是否要提高效率:是 BufferedInputStream
BufferedInputStream bufi = new BufferedInputStream (fis);
目的:输出流 OutputStream Writer 图片文件 :OutputStream
明确设备 硬盘 一个新增文件 OutputStream 体系中可以操作文件的对象 FileOutputStream
FileOutputStream fos = new FileOutputStream("xx_copy.jpg");
是否要提高效率:是 BufferedOutputStream
BufferedOutputStream bufo = new BufferedOutputStream (fos);
3、将键盘录入数据保存到一个文件中-----字节流输入
源:InputStream Reader 键盘输入是纯文本 Reader
设备:键盘对应的对象是System.in
System.in 对应的是字节流 ,为了操作数据的方便,可以把字节流转换为字符流来操作
因此需要 把System.in 转换为Reader来操作,因此需要使用Reader体系中的InputStreamReader
InputStreamReader isr = new InputStreamReader(Syetem.in);
如果需要提高效率则使用BufferedReader
BufferedReader bufr = new BufferedReader(isr);
目的:OutputStream Writer 确定目的是纯文本 所以 使用 Writer
设备: 硬盘 一个文本文件 所以使用FileWriter
FileWriter fw = new FileWriter("xx.txt");
如果要提高效率 则使用BufferedWriter
BufferedWriter bufw = new BufferedWriter(fw);
4、将一个文本文件打印在控制台上-----字符流输出
源:InputStream Reader
文本文件:Reader
设备:硬盘 一个文本文件 所以使用 FileReader
FileReader fr = new FileReader("x.txt");
是否要提高效率:是 BufferedReader
BufferedReader bufr = new BufferedReader(fr);
目的:OutputStream Writer 文本文件:Writer
设备:控制台 对应的对象是 System.out
System.out 对应的是字节流 ,为了操作数据的方便,可以把字节流转换为字符流来操作
因此需要 把System.out 转换为Writer来操作,因此需要使用Writer体系中的OutputStreamWriter
OutputStreamWriter osw = new OutputStreamWriter(System.out);
是否要提高效率:是 BufferedWriter
BufferedWriter bufw = new BufferedWriter(osw);
5、拓展一下:如果需要把录入的数据按照指定编码表(utf-8)存入到指定文件中
目的:OutputStream Writer 确定目的是纯文本 所以 使用 Writer
设备: 硬盘 一个文本文件 所以使用FileWriter
但是FileWriter 使用的默认编码表是GBK,因此,只有通过转换流来指定编码表存入数据
所以要使用 转换流对象 OutputStreamWriter。
而该转换流的对象需要接收一个字节数输出流,并且是操作文件的字节输出流:FileOutputStream
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("x.txt"),"UTF-8");
如果要提高效率 则使用BufferedWriter
BufferedWriter bufw = new BufferedWriter(osw);
源:输入流 InputStream Reader
目的:输出流 OutStream Writer
2.操作的数据是否是纯文本
是 字符流 Reader Writer
否字节流 InputStream OutputStream
3、体系明确后,要确定使用哪个具体对象
根据设备分
源设备:内存 硬盘键盘
目的设备: 内存硬盘 控制台
根据设备的需求,使用转换流:InputStreamReader OutputStreamWriter
4、为了提高效率,选择缓冲流:Buffered----
*************************************常见实例分析*******************************
一、将一个文本文件中的数据存储到另外一个文件---字符流文件复制
源:因为是读取流,所以要用读取流 InputStream Reader,是文本文件, 确定为Reader;
明确设备 :硬盘 上一个文件,Reader体系中可以操作文件的对象 FileReader:
FileReader fr = new FileReader("xx.txt");
是否要提高效率:是 BufferedReader: BufferedReader bufr = new BufferedReader(fr);
目的:输出流 OutputStream Writer 文本文件 :Writer
明确设备 硬盘 一个新增文件 Writer体系中可以操作文件的对象 FileWriter
FileWriter fw = new FileWriter("xx_copy.txt");
是否要提高效率:是 BufferedWriter BufferedWriter bufw = new BufferedWriter(fw);
2、一个图片文件存储到另外一个文件-----字节流文件复制
源:因为是读取流,所以要用读取流 InputStream Reader 图片文件 确定为InputStream
明确设备 硬盘 上一个文件 Reader体系中可以操作文件的对象 FileInputStream
FileInputStream fis = new FileInputStream("xx.jpg");
是否要提高效率:是 BufferedInputStream
BufferedInputStream bufi = new BufferedInputStream (fis);
目的:输出流 OutputStream Writer 图片文件 :OutputStream
明确设备 硬盘 一个新增文件 OutputStream 体系中可以操作文件的对象 FileOutputStream
FileOutputStream fos = new FileOutputStream("xx_copy.jpg");
是否要提高效率:是 BufferedOutputStream
BufferedOutputStream bufo = new BufferedOutputStream (fos);
3、将键盘录入数据保存到一个文件中-----字节流输入
源:InputStream Reader 键盘输入是纯文本 Reader
设备:键盘对应的对象是System.in
System.in 对应的是字节流 ,为了操作数据的方便,可以把字节流转换为字符流来操作
因此需要 把System.in 转换为Reader来操作,因此需要使用Reader体系中的InputStreamReader
InputStreamReader isr = new InputStreamReader(Syetem.in);
如果需要提高效率则使用BufferedReader
BufferedReader bufr = new BufferedReader(isr);
目的:OutputStream Writer 确定目的是纯文本 所以 使用 Writer
设备: 硬盘 一个文本文件 所以使用FileWriter
FileWriter fw = new FileWriter("xx.txt");
如果要提高效率 则使用BufferedWriter
BufferedWriter bufw = new BufferedWriter(fw);
4、将一个文本文件打印在控制台上-----字符流输出
源:InputStream Reader
文本文件:Reader
设备:硬盘 一个文本文件 所以使用 FileReader
FileReader fr = new FileReader("x.txt");
是否要提高效率:是 BufferedReader
BufferedReader bufr = new BufferedReader(fr);
目的:OutputStream Writer 文本文件:Writer
设备:控制台 对应的对象是 System.out
System.out 对应的是字节流 ,为了操作数据的方便,可以把字节流转换为字符流来操作
因此需要 把System.out 转换为Writer来操作,因此需要使用Writer体系中的OutputStreamWriter
OutputStreamWriter osw = new OutputStreamWriter(System.out);
是否要提高效率:是 BufferedWriter
BufferedWriter bufw = new BufferedWriter(osw);
5、拓展一下:如果需要把录入的数据按照指定编码表(utf-8)存入到指定文件中
目的:OutputStream Writer 确定目的是纯文本 所以 使用 Writer
设备: 硬盘 一个文本文件 所以使用FileWriter
但是FileWriter 使用的默认编码表是GBK,因此,只有通过转换流来指定编码表存入数据
所以要使用 转换流对象 OutputStreamWriter。
而该转换流的对象需要接收一个字节数输出流,并且是操作文件的字节输出流:FileOutputStream
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("x.txt"),"UTF-8");
如果要提高效率 则使用BufferedWriter
BufferedWriter bufw = new BufferedWriter(osw);
相关文章推荐
- JAVA中IO流操作的基本规律总结
- JAVA中IO流操作的基本规律总结
- 黑马程序员 IO流 流操作的基本规律
- 黑马程序员__关于学习流操作基本规律的总结
- JAVA学习第五十一课 — IO流(五)流的操作基本规律
- IO流(流的操作基本规律)
- IO流操作的基本规律与对象的序列化
- IO流的基本操作规律以及利用IO流实现音频文件的切割与合并
- io流操作的基本规律
- JAVA基础 day21 字节流的输入和输出 字节流的缓冲区 (自己实现BufferedInputStream) 键盘输入 转换流的用法 改变标准输入输出设备 IO流操作的基本规律
- 黑马程序员————IO流操作的基本规律和使用方法
- day22_IO流_键盘录入+转换流+流的操作基本规律+File对象
- 27-IO流(流的操作基本规律)12 需求提现12 30-IO流(转换流的编码解码) 32-IO流(File对象-常见功能-获取)
- 22-IO流-27-IO流(流的操作基本规律)
- 22-IO流-29-IO流(流的操作基本规律-需求体现-2)
- 22-IO流-28-IO流(流的操作基本规律-需求体现-1)
- java基础9:io流对象之流的操作规律及总结
- 黑马程序员——Java IO流(二)之流操作规律总结、File类、Properties类、序列流等
- 黑马程序员--Java基础学习之IO流之字节流、字符流、读取写入文件、Copy文件、键盘输入输出、流操作的基本规律
- JAVA学习第五十一课 — IO流(五)流的操作基本规律