是否可以像 txt 一样读取 tif 文件,删除一些 header 行,然后将其保存回 tif 文件?

Is possible to read a tif file like a txt, delete some header rows, and save it back to a tif file?

我正在尝试删除扫描仪生成的 tif 文件内容的前 3 行,因为我无法正确打开。

要删除的行示例:

------=_Part_23XX49_-1XXXX3073.1XXXXX20715
ID: documento<br>
MimeType: image/tiff

我对更改内容没问题,但是当我保存新文件时,我无法再次正确打开。

System.out.println(new InputStreamReader(in).getEncoding());

这个方法告诉我源文件的编码是 "Cp1252",所以我在 JVM 中添加了一个参数 (-Dfile.encoding=Cp1252),但似乎没有任何改变。

我就是这样做的:

StringBuilder fileContent = new StringBuilder();

// working with content and save result content in fileContent variable 

// save the file again
FileWriter fstreamWrite = new FileWriter(f.getAbsolutePath());
out = new BufferedWriter(fstreamWrite);
out.write(fileContent.toString());

编码是否有问题?

如果我用 notepad++ 进行操作,我会得到一个正确的 tiff,我可以毫无问题地打开它。

我发现 TIFF Java 库可能对您的要求有用。

请查看如何 read and how to write tiff 文件的自述文件。

希望对您有所帮助