A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

io

© 凝聚 中级黑马   /  2013-10-21 21:11  /  993 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 凝聚 于 2013-10-22 08:12 编辑

IO流使用缓冲区与不使用缓冲区进行文件的读取及复制的区别(BufferedWriter,BufferedReader)

评分

参与人数 1技术分 +1 收起 理由
李江 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
缓冲区的出现提高了计算机对数据的读写效率。从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可  。换句话说他们的区别就是一个使用了缓冲区提高了性能。一个没有。

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1 赞一个!

查看全部评分

回复 使用道具 举报
io流使用缓冲区就是为了提高效率, 把读取流的一个字节或者字节流的一个一个字节读取,变成一行一行的读取,字符读取流用到方法的ReadLine();
回复 使用道具 举报
要处理的文件很小的时候这样我们是感觉不出来区别的,缓冲区是个可以重用的内存区,这个主要是用于CPU提高读取文件的效率,而CPU的速度是远远高与内存的,假设你没有这个缓冲区的话,CPU就会要不停的读取文件,当在读取较大的文件时,这样处理效率是不是很低呢?内存速度慢,你这样一个字节一个字节的送的话整体的效率都低了。当你有缓冲的时候CPU在等缓冲区写满时可以处理其它的信息。希望楼主能理解。

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马