gpt4 book ai didi

java - ByteArrayOutputStream 和 BufferedOutputStream 的区别

转载 作者:行者123 更新时间:2023-12-02 16:03:22 24 4
gpt4 key购买 nike

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

  1. 这两者之间有什么区别。
  2. 何时使用 ByteArrayOutputStream以及何时使用BufferedOutputStream

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

最佳答案

只需查看 javadoc:

ByteArrayOutputStream :

This class implements an output stream in which the data is written into a byte array.

BufferedOutputStream :

The class implements a buffered output stream. By setting up such an output stream, an application can write bytes to the underlying output stream without necessarily causing a call to the underlying system for each byte written.

所以,这确实是两个截然不同的事情:

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

这就是全部内容!

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

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com