如何理解源和目的?
1. 源:键盘录入。
目的:控制台。
2. 需求:比如想把键盘数据存储到一个文件中。
那么它的源就是 键盘,目的就是 文件。
3. 需求:比如想将一个文件的数据打印在控制台上。
源:文件, 目的:控制台。
---------------------------------------------------------------------------------------------------------------
流操作的基本规律:
在使用流当中最痛苦的无非就是流对象很多,不知道使用哪一个?
我们通过两个明确来完成。
1. 明确源和目的。
源:输入流。 InputStream Reader
目的:输出流 OutputStream Writer
2. 操作的数据是否是纯文本。
是。字符流;
不是。字节流。
3. 当体系明确后,再明确要使用哪个具体的对象。
通过设备来进行区分:
源设备:内存、硬盘、键盘。
目的设备:内存、硬盘、控制台。
-------------------------------------------------------------------------------------------------------------------------
比如:
1. 将一个文本文件中的数据存储到另一个文件当中--------------------复制文件
源:因为是源,所以使用读取流。 InputStream Reader
接下来考虑是不是操作文本文件?
是!这时可以使用Reader。 这样体系就明确了。
接下来明确要使用该体系中的哪个对象。
明确设备:硬盘上的一个文件。
Reader体系中可以操作文件的对象是 FileReader
考虑是否需要提高效率?
是!加入Reader体系中缓冲区 BufferedReader
FileReader fr = new FileReader("a.txt");
BufferedReader bufr = new BufferedReader(fr);
目的:OutputStream Writer
是否纯文本?
是! Writer
设备:硬盘上的一个文件。
Writer体系中可以操作文件的对象FileWriter。
考虑是否提高效率:
是! 加入Writer体系中缓冲区 BufferedWriter。
FileWriter fw = new FileWriter("b.txt");
BufferedWriter bufw = new BufferedWriter(fw);
--------------------------------------------------------------------------------------------------------