IO技术使用时需要的明确

参考传智播客--毕向东老师

IO就是实现文件的读写,既然读,我们就必须要知道我们读取的数据存储在哪里,可以理解为数据的源头。既然需要写数据,我们也需要明确将数据写在什么地方,也就是需要明确目的。当然在操作数据的过程中更需要了解操作的数据类型,是否为存文本文件,如果是就用字符流相关的读写技术,如果不是就用字节流相关的技术。当体系明确后就要明确使用具体的对象,原设备是什么,目的设备是什么。

通过两个明确来完成。
1、明确源和目的。
源:输入流。InputStream、Reader。
目的:输出流。OutputStream、Writer。
2、操作的是否为存文本数据
是:字符流。
不是:字节流。
3、当体系明确后,在明确要使用那个具体的对象。
通过设备来区分:
原设备:内存,硬盘。键盘
目的设备:内存,硬盘,控制台

4、明确是否对流对象进行增强,提高效率,需要:BufferedReader、BufferedWriter

A,需求:将键盘录入的数据打印到控制台上
源:键盘录入。BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
目的:控制台。BufferedWriter bufw =new BufferedWriter(new OutputStreamWriter(System.out));


B、需求:把键盘录入的数据存储到一个文件中。
源:键盘
目的:文件。BufferedWriter bufw =new BufferedWriter(new OutputStreamWriter(new FileOutputStream("data.txt")));


C、需求:想要将一个文件中的数据打印在控制台上
源:文件。BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileInputStream("demo.txt")));
目的:控制台。BufferedWriter bufw =new BufferedWriter(new OutputStreamWriter(System.out));

D、需求:将一文件中的数据存储到另一个文件

源:文件。BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileInputStream("demo.txt")));

目的:文件。BufferedWriter bufw =new BufferedWriter(new OutputStreamWriter(new FileOutputStream("data.txt")));

针对需求D模式,具体分析如下:

将一个文本文件中的数据存储到另一个文件中。复制文件。
源:因为是源,需要使用读取流。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);
 

以上着重叙述的是如何操作字符数据的,对于字节数据该分析方法同样适用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值