黑马程序员————IO流操作的基本规律和使用方法
2015-05-12 19:12
501 查看
O流的操作规律
之所以要弄清楚这个规律,是因为流的对象太多,开发时不知道用哪个对象合适。
想要知道开发时用到哪个对象,只要通过四个明确即可。
1.明确源和目的(汇)
源:InputStream Reader
目的:OutputStream Writer
2.明确数据是否是纯文本数据
源:是纯文本 Reader
否 InputStream
目的:是纯文本 Writer
否 OutputStream
到这里就可以明确需求使用哪一个体系了。
3.明确具体的设备
源设备:
硬盘:file
键盘:System.in
内存:数组
网络:Socket
目的设备:
硬盘:file
键盘:System.out
内存:数组
网络:Socket
4.是否需要其他额外功能
1.是否需要高效(缓冲区)
是,就加上buffer。
2.转换。
需求1:复制一个文本文件
1.明确源和目的
源:InputStream Reader
目的:OutputStream Writer
2.是否是纯文本
是,源是Reader,目的是Writer。
3.明确具体设备
源设备 硬盘:file
目的设备 硬盘:file
FileReader fr=new FileReader(“a.txt”);
FileWriter fw=new FileWriter(“copya.txt”);
4.需要额外功能么?
需要高效
BufferedReader bufr=new BufferedReader(new FileReader(“a.txt”));
BufferedWriter bufw=new BufferedWriter(new FileWriter(“copya.txt”));
需求2:读取键盘录入信息,并写入到文本文件中
1.明确源和目的
源:InputStream Reader
目的:OutputStream Writer
2.是否是纯文本
是,源是Reader,目的是Wri
fe14
ter。
3.明确具体设备
源设备 键盘:System.in
目的设备 硬盘:file
InputStream in=System.in;
FileWriter fw=new FileWriter(“a.txt”);
4.需要额外功能
需要转换,将字节流转换成字符流,因为明确的源是Reader,这样操作文本数据便捷。
所以将已有的字节流转换成字符流,使用InputStreamReader,
InputStreamReader isr=new InputStreamReader(System.in);
FileWriter fw=new FileWriter(“a.txt”);
还需要高效
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw=new BufferedWriter(ew FileWriter(“a.txt”));
需求3:将一个文本文件显示在控制台上
1.源和目的:
源:InputStream Reader
目的:OutputStream Writer
2.是否是纯文本
是,源是Reader,目的是Writer。
3.明确具体设备
源设备 硬盘:file
目的设备 硬盘:System.out
FileReader fr=new FileReader(“a.txt”);
OutputStream os=System.out;
4.额外功能
需要转换:
FileReader fr=new FileReader(“a.txt”);
OutputStreamWriter osw=new OutputStreamWriter(new OutputStream(System.out));
需要高效:
BufferedReader bufr=new BufferedReader(new FileReader(“a.txt”));
BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(System.out));
需求4.读取键盘录入数据,显示在控制台上
1.源和目的
源:InputStream Reader
目的:OutputStream Writer
2.是否是纯文本
是,源是Reader,目的是Writer。
3.明确具体设备
源设备 键盘:System.in
目的设备 控制台:System.out
InputStream fr=System.in;
OutputStream os=System.out;
4.额外功能
需要转换
InputStreamReader isr=new InputSreamReader(System.in);
OutputStreamWriter isw=new OutputStreamWriter(System.out);
将其高效
BufferedReader bufr=new BufferedReader(new InputSreamReader(System.in));
BufferedWriter bufw=new BuffereWriter(new OutputStreamWriter(System.out));
之所以要弄清楚这个规律,是因为流的对象太多,开发时不知道用哪个对象合适。
想要知道开发时用到哪个对象,只要通过四个明确即可。
1.明确源和目的(汇)
源:InputStream Reader
目的:OutputStream Writer
2.明确数据是否是纯文本数据
源:是纯文本 Reader
否 InputStream
目的:是纯文本 Writer
否 OutputStream
到这里就可以明确需求使用哪一个体系了。
3.明确具体的设备
源设备:
硬盘:file
键盘:System.in
内存:数组
网络:Socket
目的设备:
硬盘:file
键盘:System.out
内存:数组
网络:Socket
4.是否需要其他额外功能
1.是否需要高效(缓冲区)
是,就加上buffer。
2.转换。
需求1:复制一个文本文件
1.明确源和目的
源:InputStream Reader
目的:OutputStream Writer
2.是否是纯文本
是,源是Reader,目的是Writer。
3.明确具体设备
源设备 硬盘:file
目的设备 硬盘:file
FileReader fr=new FileReader(“a.txt”);
FileWriter fw=new FileWriter(“copya.txt”);
4.需要额外功能么?
需要高效
BufferedReader bufr=new BufferedReader(new FileReader(“a.txt”));
BufferedWriter bufw=new BufferedWriter(new FileWriter(“copya.txt”));
需求2:读取键盘录入信息,并写入到文本文件中
1.明确源和目的
源:InputStream Reader
目的:OutputStream Writer
2.是否是纯文本
是,源是Reader,目的是Wri
fe14
ter。
3.明确具体设备
源设备 键盘:System.in
目的设备 硬盘:file
InputStream in=System.in;
FileWriter fw=new FileWriter(“a.txt”);
4.需要额外功能
需要转换,将字节流转换成字符流,因为明确的源是Reader,这样操作文本数据便捷。
所以将已有的字节流转换成字符流,使用InputStreamReader,
InputStreamReader isr=new InputStreamReader(System.in);
FileWriter fw=new FileWriter(“a.txt”);
还需要高效
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw=new BufferedWriter(ew FileWriter(“a.txt”));
需求3:将一个文本文件显示在控制台上
1.源和目的:
源:InputStream Reader
目的:OutputStream Writer
2.是否是纯文本
是,源是Reader,目的是Writer。
3.明确具体设备
源设备 硬盘:file
目的设备 硬盘:System.out
FileReader fr=new FileReader(“a.txt”);
OutputStream os=System.out;
4.额外功能
需要转换:
FileReader fr=new FileReader(“a.txt”);
OutputStreamWriter osw=new OutputStreamWriter(new OutputStream(System.out));
需要高效:
BufferedReader bufr=new BufferedReader(new FileReader(“a.txt”));
BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(System.out));
需求4.读取键盘录入数据,显示在控制台上
1.源和目的
源:InputStream Reader
目的:OutputStream Writer
2.是否是纯文本
是,源是Reader,目的是Writer。
3.明确具体设备
源设备 键盘:System.in
目的设备 控制台:System.out
InputStream fr=System.in;
OutputStream os=System.out;
4.额外功能
需要转换
InputStreamReader isr=new InputSreamReader(System.in);
OutputStreamWriter isw=new OutputStreamWriter(System.out);
将其高效
BufferedReader bufr=new BufferedReader(new InputSreamReader(System.in));
BufferedWriter bufw=new BuffereWriter(new OutputStreamWriter(System.out));
相关文章推荐
- 黑马程序员--Java基础学习之IO流之字节流、字符流、读取写入文件、Copy文件、键盘输入输出、流操作的基本规律
- 黑马程序员_List集合类基本操作以及ListIterator的使用方法
- 黑马程序员_Java基础_IO流_字节流,字节流操作文件,缓冲区字节流,流的使用规律,异常记录原理
- 黑马程序员 IO流 流操作的基本规律
- Docker 使用方法总结之:容器的基本操作
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
- 黑马程序员——java的IO之流操作的基本规律,Properties类,打印流,序列流
- 黑马程序员——IO流的常用基本操作
- 黑马程序员——System类常用方法及流对象操作规律
- 黑马程序员——Java IO流(二)之流操作规律总结、File类、Properties类、序列流等
- 22-IO流-27-IO流(流的操作基本规律)
- 22-IO流-29-IO流(流的操作基本规律-需求体现-2)
- 22-IO流-28-IO流(流的操作基本规律-需求体现-1)
- C++/STL_中vector基本操作测试代码,vector.erase()使用方法
- 使用Python操作MySQL的一些基本方法
- 使用Python操作MySQL的一些基本方法
- 黑马程序员——Java基础IO流概述、字符流、字节流、流操作规律、File类、Properties类、打印流、序列流
- [黑马程序员] _变量的基本使用方法(赋值、占位符、接收、命名规则)
- [黑马程序员] _变量的基本使用方法(赋值、占位符、接收、命名规则)