我有一些 JPG 文件需要在运行时用自己的 JFIF 标准化版本替换(我们使用的供应商给我们的 JPG 没有正确的标题,因此它们在某些应用程序中不起作用)......我是能够从现有图像创建一个新文件,然后从该文件中获取一个缓冲图像并将内容直接写回文件中,而无需删除它并且它可以工作......
imageSrcFolder.eachFileMatch ( ~/.*\.jpg/, {
BufferedImage bi = ImageIO.read( it )
ImageIO.write( bi, "jpg", it )
});
我的问题是为什么?为什么文件最终没有翻倍?为什么我不必先删除它?为什么我能够将文件对象放入现有文件,然后将其视为全新文件?似乎我认为是“文件”的东西并不是 java 中的 File 对象实际上是什么,否则这根本行不通。
我的代码完全符合我的要求,但我不相信它总是会......它看起来太容易了