黑马程序员-IO(二)

---------------------  android培训java培训、期待与您交流! ----------------------

IO(二)各种流的使用规则


1.IO流中有4个体系——字节输入流,字节输出流,字符输入流和字符输出流。
2.当操作的数据是纯文本数据时,尽量使用字符流的形式,操作其他类型的数据必须使用字节流。事实上,字符流只是对字节流进行了一次封装,使之加入编码表并且更容易操作。
3.分清操作的源设备:比如 内存,硬盘(文件),键盘。
内存中的数据直接可以使用;硬盘上的文件使用FileInputStream(数据不是纯文本)和FileReader(数据是纯文本);键盘上的输入使用标准输入流System.in(返回InputStream类型)。
4.分清操作的目的设备:内存,硬盘(文件),控制台。
与上面类似,内存中数据直接使用,硬盘上的文件使用FileOutputStream(数据不是纯文本)和FileWriter(数据是纯文本);控制台的输出使用标准输出流System.out返回的OuputStream。
5.对流进行修饰,为了使流具有更优的效率,一般使用带缓存的装饰类BufferedInputStream,BufferedOutputStream、BufferedReader和BufferedWriter。分别对应于原始的节点流。
6.字符流与字节流的相互转换。使用OutputstreamWriter和InputstreamWriter可以将字节流修饰在字符流中,使用字符流的方式来操作,这样对文本操作将更加简单方便。这种转换还可以嵌入字符编码表,使之按照一定的编码形式存储或者读取,在需要转变存储编码格式的时候,可是使用该流。事实上,字符流(FileReader和FileWriter)就是一种默认的将字节流转换为字符流之后的流对象。
7.如果想要将多个文件合并为一个文件,使用SequenceInputStream就很方便。他可以将多个流对象放在一起(超过3个使用枚举将对象放在一起传入)。
8.如果想要将一个文件分割为多个文件,直接在循环内多次创建文件的输出即可。
9.将对象的信息存储到文件中,以及从文件中读取对象。使用ObjectInputstream和ObjectOutputStream。前提是这个对象实现了Serializable接口。
10.打印流有PrintStream和PrintWriter两种,他们直接有println方法可以带换行地打印。
11.如果读取文档时,需要同时获取行号,使用LineNumberReader就很方便,当然也有LineNumberInputStream可以使用。







---------------------- android培训java培训、期待与您交流! ----------------------详细请查看: http://edu.csdn.net/heima
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值