ByteArrayInputStream/ByteArrayOutputStream的实际使用

Practical usage of ByteArrayInputStream/ByteArrayOutputStream

ByteArrayInputStreamand/orByteArrayOutputStream有哪些实际应用领域?也欢迎举例。

如果搜索示例,通常会找到如下内容:

byte[] buf = { 16, 47, 12 };  
ByteArrayInputStream byt = new ByteArrayInputStream(buf);

它对在哪里或为什么应该使用它没有帮助。我知道在处理图像、ZIP 文件或写入 ServletOutputStream 时会用到它们。

ByteArrayInputStream:每次你需要一个 InputStream(通常是因为 API 将其作为参数),并且你已经将所有数据作为字节数组(或任何可以转换为一个字节数组)。

ByteArrayOutputStream:每次您需要 OutputStream(通常是因为 API 将其输出写入 OutputStream)并且您希望将输出存储在内存中,而不是文件或网络中。