java - ByteArrayInputStream/ByteArrayOutputStream的实际使用

标签 java io byte bytearrayoutputstream bytearrayinputstream

使用 ByteArrayInputStream 和/或 ByteArrayOutputStream 的一些实际领域是什么?也欢迎提供示例。

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

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

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

最佳答案

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

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

关于java - ByteArrayInputStream/ByteArrayOutputStream的实际使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47859239/

相关文章:

.net - F#:将字符串转换为字节数组

java - 为什么 java.util.Stack 不使用 LinkedList 的复合模式,而是使用 Vektor?

java - HtmlUnit 和 Java eclipse 错误无法正确运行

java - 安卓编程: TextView isn't displaying full string

linux - 使用 O_DIRECT 从 HDD 读取()失败并显示 22(EINVAL,无效参数)

c - 从 stdin 读取未知长度的未知行数

java - 为什么输入流的返回类型不是int?

c# - 将 LSB 和 MSB 相加以获得一个值

java - JAXB:在特殊值的情况下忽略元素序列化(例如 `null` 或 `Double.NaN` )

java - 我怎样才能在 stdout/stderr 准备就绪时进行回调而不是忙于轮询?