黑马程序员 java基础IO操作原则随笔
2014-03-29 02:42
323 查看
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
流操作的基本规则
最痛苦的就是流对象有很多 不知道用哪一个
通过三个明确来完成
1明确源和目的
源: 输入流,InputStream Reader
目的:输出流,OutputStream Writer
2 操作的数据是否是纯文本
是 :字符流
不是:字节流
3当体系明确后 在明确要使用那个具体的对象
通过设备类进行区分
源设备 :内存 硬盘 键盘
目的设备:内存,硬盘,控制台
1将一个文件中的数据存到另一个文件中---复制文件
源 :文件 因为是源所以使用读取流 InputStream Reader 是不是操作文本文件
是 这时就可以选择Reader 这样体系就明确了
接下来明确要使用该体系中的哪个对象
明确设备:硬盘上一个文件
Reader体系中可以操作文件的对象是FileReader
是否需要提高效率 是! 加入Reader体系中缓冲区 BufferedReader
FileReader fr=new FileWriter("a.txt");
BufferedReader bufr=new BufferedReader(fr);
目的:OutputStream Writer
目的是否是纯文本呢
是:Writer FileWriter
设备:硬盘 一个文件
Writer体系中可以操作文件的对象是FileWriter
是否需要提高效率 是! 加入Writer体系中缓冲区 BufferedWriter
FileWriter fw=new FileWriter("b.txt");
BufferedWriter bufw=new BufferedWriter(fw);
练习 将一个图片文件中的数据存储到另一个文件中 复制文件 要按照以上格式自己完成三个明确
---------------------------------------------------------
2 需求: 将键盘录入的数据保存到一个文件中
这个需求中有源和目的都存在
那么分别分析
源: 键盘录入: InputStream Reader
是不是纯文本? 是纯文本 是! Reader
设备: 键盘 对应的对象System.in
不是选择Reader吗 System.in对应的不是字节流吗?
为了操作键盘的文本数据方便 专程字符流按照字符窜操作是最方便的
所以既然明确了Reader 那么就将System.in转成字符流
用了Reader体系中的转换流 InputStreamReader
InputStreamReader isr=new InputStreamReader(System.in);
需要提高效率吗? 需要 BufferedReader
BufferedReader bufr=new BufferedReader(isr);
目的:OutputStream Writer
是否是存文本? 是! Writer
设备: 硬盘 一个文件 使用FileWriter
FileWriter fw=new FileWriter("a.txt");
需要提高效率吗? 需要
BufferWriter bufw=new BufferedWriter(fw);
----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
详情请查看:http://edu.csdn.net/heima
流操作的基本规则
最痛苦的就是流对象有很多 不知道用哪一个
通过三个明确来完成
1明确源和目的
源: 输入流,InputStream Reader
目的:输出流,OutputStream Writer
2 操作的数据是否是纯文本
是 :字符流
不是:字节流
3当体系明确后 在明确要使用那个具体的对象
通过设备类进行区分
源设备 :内存 硬盘 键盘
目的设备:内存,硬盘,控制台
1将一个文件中的数据存到另一个文件中---复制文件
源 :文件 因为是源所以使用读取流 InputStream Reader 是不是操作文本文件
是 这时就可以选择Reader 这样体系就明确了
接下来明确要使用该体系中的哪个对象
明确设备:硬盘上一个文件
Reader体系中可以操作文件的对象是FileReader
是否需要提高效率 是! 加入Reader体系中缓冲区 BufferedReader
FileReader fr=new FileWriter("a.txt");
BufferedReader bufr=new BufferedReader(fr);
目的:OutputStream Writer
目的是否是纯文本呢
是:Writer FileWriter
设备:硬盘 一个文件
Writer体系中可以操作文件的对象是FileWriter
是否需要提高效率 是! 加入Writer体系中缓冲区 BufferedWriter
FileWriter fw=new FileWriter("b.txt");
BufferedWriter bufw=new BufferedWriter(fw);
练习 将一个图片文件中的数据存储到另一个文件中 复制文件 要按照以上格式自己完成三个明确
---------------------------------------------------------
2 需求: 将键盘录入的数据保存到一个文件中
这个需求中有源和目的都存在
那么分别分析
源: 键盘录入: InputStream Reader
是不是纯文本? 是纯文本 是! Reader
设备: 键盘 对应的对象System.in
不是选择Reader吗 System.in对应的不是字节流吗?
为了操作键盘的文本数据方便 专程字符流按照字符窜操作是最方便的
所以既然明确了Reader 那么就将System.in转成字符流
用了Reader体系中的转换流 InputStreamReader
InputStreamReader isr=new InputStreamReader(System.in);
需要提高效率吗? 需要 BufferedReader
BufferedReader bufr=new BufferedReader(isr);
目的:OutputStream Writer
是否是存文本? 是! Writer
设备: 硬盘 一个文件 使用FileWriter
FileWriter fw=new FileWriter("a.txt");
需要提高效率吗? 需要
BufferWriter bufw=new BufferedWriter(fw);
----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
详情请查看:http://edu.csdn.net/heima
相关文章推荐
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
- 黑马程序员 java基础IO随笔
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
- 黑马程序员——Java基础---IO(二)---IO字节流、流操作规律
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
- Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律 (黑马程序员)
- 黑马程序员——Java基础视频笔记(七):IO操作
- 黑马程序员 java基础IO随笔
- 黑马程序员——Java基础----IO(字节流、操作规律等)(2)
- 黑马程序员 java 基础 毕向东 面向对象 IO操作 File Properties PrintWriter PrintStream 应用
- 黑马程序员——Java基础——IO输入与输出_1
- 黑马程序员——Java基础---IO---字节流
- 黑马程序员--Java基础学习笔记【数组操作、基本数据类型包装类】
- 黑马程序员—Java基础—IO2
- 黑马程序员—java基础学习--JavaBean的内省操作
- 黑马程序员—java基础学习--IO ( Input Output )流(一)
- 黑马程序员-----java基础(IO上)
- Java IO操作:IO的一般使用原则
- 黑马程序员——java基础---IO(input output)流字符流