java - 在字节流中添加数据的最有效方法是什么?

标签 java stream

我一直在制作一个图像重缩放器,它使用 Java 中的 ImageIO 库将它们转换为缓冲图像。不幸的是,它无法识别我可能传递给它的每种类型的 JPEG,因此我需要“转换”这些其他类型。我转换它们的方法是从标准 JFIF JPEG 中获取现有的 APP0 标签,我想要做的是在文件的第三个字节上插入 18 字节的数据(FFE0 标记和 16 字节 APP0 标签)并然后我想将文件的其余部分添加到该文件的末尾。

概括地说,在流/文件中添加/插入数据字节的最有效方法是什么?

提前致谢, 阿列克谢·布鲁。

这个问题与我之前的问题相关,因此我要感谢 onemasse 给出的答案。 Java JPEG Converter for Odd Image Types

最佳答案

如果您从流中读取图像,您可以创建一个代理,它的作用类似于输入流并接受输出流。重写 read 方法,以便在丢失额外的丢失字节时返回它们。

可以通过扩展 FilterInputStream http://download.oracle.com/javase/6/docs/api/java/io/FilterInputStream.html 来制作代理

关于java - 在字节流中添加数据的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8050259/

相关文章:

node.js - Node 中读取流的新方式会导致阻塞吗?

java - Akka stream - 在不引入延迟的情况下限制流量

sockets - 如何获得连接的客户端的IP地址?

java - indexof 索引越界异常

java - 如何在 Java AWS 无服务器框架设置下确定 Lambda 是在本地运行还是在 AWS 下运行

java - 反向列表<对象>

c# - 并行使用多个 Stream.BeginWrite 是否线程安全?

java - 使用 for 循环在 jTextFields 中设置值

java - 使用日历当前日期设置对象

node.js - 如何在 node.js 中重用可读流?