在哪些实际领域中使用ByteArrayInputStream和/或ByteArrayOutputStream?也欢迎示例。

如果有人搜索示例,通常会发现以下内容:

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


它无助于在哪里或为何使用它。我知道在处理图像,ZIP文件或写入ServletOutputStream时会使用它们。

最佳答案

ByteArrayInputStream:每次需要InputStream时(通常是因为API将该InputStream作为参数),并且您已经将所有数据作为字节数组(或可以转换为字节数组的任何内容)存储在内存中。

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

09-29 19:56