最近自学完IO流的一些内容,(InputStream,OutputStream,Reader,Writer)最开始对哪个是输出流,哪个是输入流模棱两可. 就是InputStream和OutputStream这两个,不知道有没有初学者跟我一样呢?呵呵.后来自己想到一个记住的方法,按照字母的顺序记,R在W前面,I在O前面,那么I就对应R,O就对应W,InputStream对应的方法就跟Reader类似,OutputStream对应的方法就跟Writer,类似这样就容易理解InputStream和OutputStream这两个流的使用.(因为Reader和Writer在字面上是比较容易记住的,至少我是这样认为的)
接下来就是要搞清楚该选择流对象呢?
1.明确源
- 源:输入流 InputStream Reader
2.明确目的
- 目的:输出流 OutputStream Writer
3.明确操作的对象是否是纯文本
- 是:字符流
- 否:字节流
明确这几点后就确定使用哪个流对象.
下面举个例子来按照上面的步骤正确选择使用哪个流对象.
例:将一个文本文件中数据存储到另一个文件中。
- 源:因为是源,所以使用读取流。InputStream Reader 目的:OutputStream Writer
- 是不是操作文本文件。是!这时就可以选择Reader Writer。
- 操作的是硬盘上一个文件。Reader体系中可以操作文件的对象是 FileReader FileWriter。
- 是否需要提高效率:是!加入Reader体系中缓冲区 BufferedReader.BufferedWriter
- FileReader fr = new FileReader("demo.txt");
- BufferedReader bfr = new BufferedReader(fr);
- FileWriter fw = new FileWriter("demo_cp.txt");
- BufferedWriter bfw = new BufferedWriter(fw);
按照以上的步骤我想对于初学者来说比较容易选择该如何使用哪个流对象了吧..
这个方法是从视频中学习到的,借鉴的,大家也可以借鉴借鉴,很不错的方法,在此给那些初学者还不知道的人交流交流,欢迎探讨.