java io 中BufferedReader缓冲区提高效率的问题

哪位大侠可以给我讲一下,BufferedReader所说的使用缓冲区可以提高效率,到底是怎样提高的?详细点,小弟在此谢过... 哪位大侠可以给我讲一下,BufferedReader所说的使用缓冲区可以提高效率,到底是怎样提高的?详细点,小弟在此谢过 展开
 我来答
匿名用户
推荐于2016-02-07
展开全部
道理很简单,假设你要读取一个文本文件输出到屏幕,一次读一个字节,然后赋值给声明的一个变量,那么需要读取很多次,如果用了BufferedReader,就可以一次把所有的字节都读取到缓冲区,然后再一次性赋值给变量,效率自然就提高了,写文件时也一样,一次写一个字,和一次写1篇文章的区别.
Jseven_jy
2010-08-13 · TA获得超过8122个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1135万
展开全部
BufferedReader可以一次读一行。。而普通的一次只能读一个字符。。

普通reader读一次就是执行一次那个方法。。相当于我执行一次。。你要执行N次。。

所以效率高。。

并且老是去读硬盘对硬盘伤害很大。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaoyw_work
2010-08-13 · TA获得超过613个赞
知道小有建树答主
回答量:729
采纳率:100%
帮助的人:528万
展开全部
io 是耗时的 同时还要处理中断
内存的读写则是很快的
所以理论上 io 读取时,次数越少越好
所以用 BufferedReader 相当于一次读了 很多数据,然后放到内存中方便别人使用。这肯定比 一个 byte 一个 byte 的 读 在效率上提高很多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yanlei24
2010-08-13 · TA获得超过101个赞
知道答主
回答量:19
采纳率:0%
帮助的人:24.1万
展开全部
javaAPI上都有的

通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如,

BufferedReader in
= new BufferedReader(new FileReader("foo.in"));
将缓冲指定文件的输入。如果没有缓冲,则每次调用 read() 或 readLine() 都会导致从文件中读取字节,并将其转换为字符后返回,而这是极其低效的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式