黑马程序员技术交流社区

标题: BufferedInputStream和ByteArrayInputStream缓冲区 [打印本页]

作者: zhousaowen    时间: 2011-7-21 16:34
标题: BufferedInputStream和ByteArrayInputStream缓冲区
BufferedInputStream和ByteArrayInputStream都有缓冲区,他们的性质是一样的吗?当缓冲区内的内容超过的时候会自动增加的大吗?
作者: 匿名    时间: 2011-7-21 19:47
标题: 回复 楼主 的帖子
不一样的
它类似一个内存虚拟文件或内存映像文件,它默认是32个字节的缓冲区,但是可随着数据增多自动增长
它可以存储整个输入或输出流,可以对内容进行很多操作

BufferedInputStream也是增加了内存缓冲区,但是目的是能允许Java程序可以一次不只操作一个字节,可以实现数据部分回流(可进行mark,skip等方法,readLine也成为可能),但是size一般定下来也变不了了

我个人是把ByteArrayInputStream想象成一个文件,不在硬盘上的。
把BufferedInputStream想象成一个定长管道,它可以操作很多个字节,但是不能当成整个文件那样操作

如果错误理解还请指出
作者: 匿名    时间: 2011-7-21 21:38
同意  把BufferedInputStream想象成一个定长管道 ,是包装类。但是把ByteArrayInputStream想象成一个虚拟的文件有点其他的看法:我还是把他也看做管道,里面流的是byte【】;而包装类就像是一根管道为了弥补一些管道的不足而套在这些管道之上的管道。
请指正!
作者: 匿名    时间: 2011-7-21 21:39
标题: 回复 沙发 的帖子
同意  把BufferedInputStream想象成一个定长管道 ,是包装类。但是把ByteArrayInputStream想象成一个虚拟的文件有点其他的看法:我还是把他也看做管道,里面流的是byte【】;而包装类就像是一根管道为了弥补一些管道的不足而套在这些管道之上的管道。
请指正!




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