---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
流操作基本规律:
一、两个明确:(1) 明确源和目的
源:输入流。InputStream字节流 Reader 字符流
目的:输出流 OutPutStream 字节流 Writer 字符流
(2)操作的数据是否是纯文本
是,即字符流 如果设备是键盘 就将字节流转换为字符流
不是,即 字节流
二、当体系明确后,再明确要是用那个具体的对象,通过设备来区分
源设备 :内存 硬盘 键盘
目的设备 :内存 硬盘 控制台
三、是否需要提高效率
是 BufferedReader BufferedInputStream
否 BuffreredWriter BufferedOutputStream案例1.将一个文本文件中的数据存储到另一个文件中,复制文件
源: 是纯文本,所以选 Reader
设备:是文件 ,操作文件的对象就是FileReader
是否需要高效: 是 BufferedReader
BufferedReader FileReader fr=new FileReader("a.txt");
BufferedReader bufr=new BufferedReader(fr);目的 : 是纯文本 ,选 Writer
设备: 文件,写入文件的对象就是 FileWriter
是否需要高效 是 BufferedWriter
FileWriter fw=new FileWriter("b.txt");
BufferedWriter bufw=new BufferedWriter(fw);
案例二、将一个图片文件数据存储到另一个文件中,复制文件。
源: 不是 纯文本 ,选择InputStream
设备:文件,确定FileInputStream
是否高效 是 BufferedInputStream
FileInputStream isr=new FileInputStream("a.jpg");
BufferedInputStream bufis=new BufferedInputStream(isr);
目的:不是纯文本,选择OutPutStream
设备:文件,确定FileOutPutStream
是否高效 是 BufferedOutputStreamFileOutPutStream osw=new FileOutPutStream("b.jpg");
BufferedOutputStream bufos=new BufferedOutputStream(osw);
案例三、将键盘录入的数据保存到一个文件中 。
源: 非纯文本+ 键盘→ 字节流 ,Reader
键盘对应的对象是 System.in ,对应的是字节流 ,为了操作方便 转成字符流 InputStreamReader
InputStreamReader isr=new InputStreamReader(System.in);
需要高效
BufferedReader bufr=new BufferedReader(isr);
目的: 文件→FileWriter
需要高效 BufferedWriter
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------