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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

就是原理有什么区别

评分

参与人数 1黑马币 +3 收起 理由
乔兵 + 3

查看全部评分

5 个回复

倒序浏览
缓冲流中数组能根据需要调整大小,而自定义数组的大小是固定的,
如果用缓冲流读自定义数组,读的速度会更快,因为缓冲区更大了。
相对于只用缓冲流,这就是牺牲内存空间,换取读取的速度。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
To 金牌黑马 2013-10-8 07:43:52
藤椅
楼上正解
回复 使用道具 举报
这几天我也在思考这问题,BufferedReader是FileReader的修饰类,功能增强了提供了readLine()方法,但是说使用BufferedReader可以提高效率,我一直比较困惑,是在哪里实现的?刚重新看了api,发现BufferedReader有定义一个缓冲数组,并且在提供了一个构造函数可以指定数组的大小。我觉得这在原理上和我们自己定义一个缓冲数组是没有区别。BufferedReader也是的read方法和FileReader中的read方法应该是有所不同的,应该先判断缓冲区中是否还有数据,如果有就直接读了,没有再将新的文件数据读到缓冲区中。

评分

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

查看全部评分

回复 使用道具 举报
{:soso_e104:}
Buffere故名就是缓冲的意思,而byte[]是自己建立的固定大小的数据区域(数组)。buffer是可以自动调整大小的,相对byte[]速度上面要快

评分

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

查看全部评分

回复 使用道具 举报
To 金牌黑马 2013-10-9 08:40:54
地板
如果问题已解决,请将帖子改为提问结束,如果没有解决请楼主继续提问,谢谢合作
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马