唠唠SE的IO-04——缓冲输入输出流

本文介绍了缓冲输入输出流的概念及其在提高文件读写效率方面的作用。通过使用BufferedInputStream和BufferedOutputStream类,可以显著减少读写操作次数,尤其是在处理大型文件时效果明显。此外,还讨论了BufferedReader类如何增强文本行读取功能。

4. 缓冲输入输出流

缓冲输入输出流,是基于普通IO流的缓冲包装,使用更灵活。

BufferedOutputStream和BufferedOutputStream类可以通过减少读写次数来提高输入和输出的速度。

它们内部有一个缓冲区,用来提高处理效率。查看API文档,发现可以指定缓冲区的大小。

其实内部也是封装了字节数组。没有指定缓冲区大小,默认的字节是8192。

显然缓冲区输入流和缓冲区输出流要配合使用。

 

首先缓冲区输入流会将读取到的数据读入缓冲区,当缓冲区满时,或者调用flush方法,缓冲输出流会将数据写出。

注意:当然使用缓冲流来进行提高效率时,对于小文件可能看不到性能的提升。但是文件稍微大一些的话,就可以看到实质的性能提升了。

 

Reader有一个子类BufferedReader。子类继承父类显然子类可以重写父类的方法,也可以增加自己的新方法。

例如一次读一行就是常用的操作.那么BufferedReader类就提供了这个方法,可以查看readLine()方法具备一次读取一个文本行的功能。

很显然,该子类可以对功能进行增强。

 

注意:在使用缓冲区对象时,要明确,缓冲的存在是为了增强流的功能而存在,所以在建立缓冲区对象时,要先有流对象存在.

 

缓冲区的出现提高了对流的操作效率。原理:其实就是将数组进行封装。

转载于:https://my.oschina.net/LinkedBear/blog/1616053

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值