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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 壁虎 中级黑马   /  2013-3-25 20:11  /  1368 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 tuo1254 于 2013-3-25 22:29 编辑

BufferedReader 是一个装饰类,用来装饰字符输入流,装饰后可以提高读取效率。因为里面封装了缓冲区可以缓冲很多字符后一次性写入,
而且里面还有java给你写好的读取一行的方法readLine()。为什么使用它我基本上明白。
但是BufferedInputStream有什么用呢?可以缓冲很多字节吗?但是也可以自己定义个byte数组 然后用FileInputStream的 read(byte[] arr)方法达到同样的效果啊。我知道它存在总是有意义的。
请问它可以有什么用 ,什么时候用它。望介绍详细一点 。还有BufferedOutputStream

点评

如果你的问题已经得到解决,请及时将主题改为[已解决],如果还有问题请继续追问,谢谢!  发表于 2013-3-25 21:33

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

2 个回复

倒序浏览
同问...感觉毫无意义 依然是一个字节一个自己在读,要想缓冲还是要自己建立数组..
回复 使用道具 举报
楼主你算是考虑到一块儿去了,我测试过,自己定义个大小合适的数组和使用缓冲区在字节流操作的时候基本一样的效率。只是我们不知道资源大小的情况下去操作的时候定义数组基本都是按照1024的整数倍,而如果资源很大的话,如果不加缓冲那效率就慢了,所以,我觉得字节流的缓冲区其实就是因为系统自动给了一个所谓大小合适的缓冲区,用户可以随便定义一个数组就保障了效率。

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

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