如何从java中删除二进制图像文件中的行?

时间:2017-08-25 05:02:23

标签: java

我有这个jpeg文件,我想要删除顶部的这4行。

--Boundary+F8FFFA18070580D7
Content-Disposition: form-data; name="data";`filename="MySurveyImage0.jpg"
Content-Type: image/JPEG
ˇÿˇ‡JFIFHHˇ·XExifMM*ái&††¿†
êˇÌ8Photoshop 3.08BIM8BIM%‘åŸè≤ÈÄ

我尝试将输入流读取为行,删除前4行并重写到文件。由于IOUtils.readLines将文件作为文本读取,因此图像文件被破坏。

List<String> strings = IOUtils.readLines(objectContent);
strings.subList(3, strings.size()

我想我需要使用正确的编码。如何读取二进制文件,删除前4行并重写文件而不破坏内容?

1 个答案:

答案 0 :(得分:-1)

考虑将图像作为二进制图像文件读取,然后提取/修改exif信息。

Apache Commons Imaging为此提供了简便的api。 https://commons.apache.org/proper/commons-imaging/index.html