ByteArrayOutputStreamBufferedOutputStream 都通过将数据放入内存中的数组来进行缓冲。所以我的问题是

  • 这两者有什么区别。
  • 何时使用 ByteArrayOutputStream 以及何时使用 BufferedOutputStream

  • 有人可以帮助我解决上述两个问题,因为我对此感到困惑。

    最佳答案

    看看javadoc:

    ByteArrayOutputStream :



    BufferedOutputStream :



    所以,这实际上是两件非常不同的事情:

  • 当你知道你有一些数据时使用的第一个 最后 你需要作为字节数组
  • 第二个只是围绕任何其他类型的输出流的 包装器 - 这增加了缓冲。

  • 这就是全部!

    如果您想体验不同的行为:创建一个写入文件的缓冲行为和一个数组行为。然后继续将字节插入每个字节。阵列一个会在某些时候导致内存问题,另一个可能不会停止,直到您的所有磁盘空间都用完。

    关于java - ByteArrayOutputStream 和 BufferedOutputStream 的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43818630/

    10-11 21:28