本文主要是介绍ByteArrayInputStream(ByteArrayOutputStream)和BufferedInputStream(BufferedOutputStream)的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
PS:
ByteArrayXXXputStream:指ByteArrayInputStream或者ByteArrayOutputStreamBufferedXXXputStream:指BufferedInputStream或者BufferedOutputStream
两者都维护着一个byte[]类型的数组,并且也都有mark(), reset(), skip()这样的方法
ByteArrayXXXputStream内部的数组大小是固定的。
针对不用缓冲区的一般输出流而言的,即减少读取到内存的次数,同时缓冲区大小固定,缓冲区满则清空,有效利用内存( 缓冲区满后,即时清空缓冲区,输出到输出流中,可以有效利用内存。)
BufferedXXXputStream内部的数组大小是可变的。缓冲区满后,继续扩大缓冲区的大小,最后得到一个保存所有内容的byte数组。较之BufferedOutputStream速度上存在优势,目的是不直接操作数据流
这篇关于ByteArrayInputStream(ByteArrayOutputStream)和BufferedInputStream(BufferedOutputStream)的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!