java io 中BufferedReader缓冲区提高效率的问题
哪位大侠可以给我讲一下,BufferedReader所说的使用缓冲区可以提高效率,到底是怎样提高的?详细点,小弟在此谢过...
哪位大侠可以给我讲一下,BufferedReader所说的使用缓冲区可以提高效率,到底是怎样提高的?详细点,小弟在此谢过
展开
4个回答
推荐于2016-02-07
展开全部
道理很简单,假设你要读取一个文本文件输出到屏幕,一次读一个字节,然后赋值给声明的一个变量,那么需要读取很多次,如果用了BufferedReader,就可以一次把所有的字节都读取到缓冲区,然后再一次性赋值给变量,效率自然就提高了,写文件时也一样,一次写一个字,和一次写1篇文章的区别.
展开全部
BufferedReader可以一次读一行。。而普通的一次只能读一个字符。。
普通reader读一次就是执行一次那个方法。。相当于我执行一次。。你要执行N次。。
所以效率高。。
并且老是去读硬盘对硬盘伤害很大。。
普通reader读一次就是执行一次那个方法。。相当于我执行一次。。你要执行N次。。
所以效率高。。
并且老是去读硬盘对硬盘伤害很大。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
io 是耗时的 同时还要处理中断
内存的读写则是很快的
所以理论上 io 读取时,次数越少越好
所以用 BufferedReader 相当于一次读了 很多数据,然后放到内存中方便别人使用。这肯定比 一个 byte 一个 byte 的 读 在效率上提高很多
内存的读写则是很快的
所以理论上 io 读取时,次数越少越好
所以用 BufferedReader 相当于一次读了 很多数据,然后放到内存中方便别人使用。这肯定比 一个 byte 一个 byte 的 读 在效率上提高很多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
javaAPI上都有的
通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如,
BufferedReader in
= new BufferedReader(new FileReader("foo.in"));
将缓冲指定文件的输入。如果没有缓冲,则每次调用 read() 或 readLine() 都会导致从文件中读取字节,并将其转换为字符后返回,而这是极其低效的。
通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如,
BufferedReader in
= new BufferedReader(new FileReader("foo.in"));
将缓冲指定文件的输入。如果没有缓冲,则每次调用 read() 或 readLine() 都会导致从文件中读取字节,并将其转换为字符后返回,而这是极其低效的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询