黑马程序员技术交流社区

标题: BufferedInputStream问题 [打印本页]

作者: 壁虎    时间: 2013-3-25 20:11
标题: BufferedInputStream问题
本帖最后由 tuo1254 于 2013-3-25 22:29 编辑

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

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2