博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
唠唠SE的IO-04——缓冲输入输出流
阅读量:6295 次
发布时间:2019-06-22

本文共 611 字,大约阅读时间需要 2 分钟。

hot3.png

4. 缓冲输入输出流

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

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

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

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

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

 

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

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

 

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

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

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

 

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

 

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

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

你可能感兴趣的文章
大佬是怎么思考设计MySQL优化方案的?
查看>>
<三体> 给岁月以文明, 给时光以生命
查看>>
Android开发 - 掌握ConstraintLayout(九)分组(Group)
查看>>
springboot+logback日志异步数据库
查看>>
Typescript教程之函数
查看>>
Android 高效安全加载图片
查看>>
vue中数组变动不被监测问题
查看>>
3.31
查看>>
类对象定义 二
查看>>
收费视频网站Netflix:用户到底想要“点”什么?
查看>>
MacOS High Sierra 12 13系统转dmg格式
查看>>
关于再次查看已做的多选题状态逻辑问题
查看>>
动态下拉菜单,非hover
查看>>
政府安全资讯精选 2017年第十六期 工信部发布关于规范互联网信息服务使用域名的通知;俄罗斯拟建立备用DNS;Google打击安卓应用在未经同意情况下收集个人信...
查看>>
简单易懂的谈谈 javascript 中的继承
查看>>
iOS汇编基础(四)指针和macho文件
查看>>
Laravel 技巧锦集
查看>>
Android 使用 ViewPager+RecyclerView+SmartRefreshLayout 实现顶部图片下拉视差效果
查看>>
Flutter之基础Widget
查看>>
写给0-3岁产品经理的12封信(第08篇)——产品运营能力
查看>>