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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 15001162522 中级黑马   /  2015-10-7 14:09  /  591 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

无论是字符流还是字节流,都有方法:read(T[] buf)和write(T[] buf,0,len)
求问,既然已经有了字符数组或字节数组作为缓冲区,为什么还要出现BufferedReader BufferedWriter BufferedInputStream BufferedOutputStream 这四个缓冲区类?

8 个回复

倒序浏览
底层IO 访问是个慢操作,减少 IO 次数就是提高效率。
我理解的是:Read类的read(T[] buf)方法还是每次读取一个,然后存入到数组中,
而BufferedRead是一次读取一个数组的内容,存入到数组当中。
回复 使用道具 举报
更加高效呀!
回复 使用道具 举报
这几个是高效的,速度更快,你可以试试,复制一张图片,分别用这几种方法,高效流速度更快
回复 使用道具 举报
李克强001 发表于 2015-10-7 16:28
底层IO 访问是个慢操作,减少 IO 次数就是提高效率。
我理解的是:Read类的read(T[] buf)方法还是每次读取 ...

我的潜意识中跟你理解是一样的 ····
回复 使用道具 举报
915816106 发表于 2015-10-7 21:53
这几个是高效的,速度更快,你可以试试,复制一张图片,分别用这几种方法,高效流速度更快 ...

你回答的只是现象 而非原理  算了,最底层的东西不要去想啦 ,没必要
回复 使用道具 举报
其实不要想得太复杂。学习视频就已经说得很清楚,小文件看不出效果,自己动手比较这几个类,IO个avi就懂了。
回复 使用道具 举报
15001162522 发表于 2015-10-11 17:37
你回答的只是现象 而非原理  算了,最底层的东西不要去想啦 ,没必要

你只要知道这个是什么用的就可以了。干嘛要知道他的原理
回复 使用道具 举报
915816106 发表于 2015-10-12 22:40
你只要知道这个是什么用的就可以了。干嘛要知道他的原理

是的 会用就行了 不能深究  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马