【发布时间】:2021-10-08 11:18:27
【问题描述】:
我正在使用 Java 和库 metadata extractor 来处理文件元数据。
我想要的是可靠地检查一个文件是否支持 Exif 标头(如果标头中尚不可用,是否也支持它)。
据我所知,JPEG 和 TIFF 以及一些 PNG(以及其他)支持 Exif 标头。
目前我只是检查 JPEG 或 TIFF 的文件类型(通过使用 FileTypeDetector::detectFileType),但是否可以在不检查文件类型的情况下可靠地确定文件是否支持 Exif 标头?然后也可以考虑其他格式的文件也支持 Exif 头。
提前致谢!
【问题讨论】:
-
为什么尝试获取 exif 信息然后相应地处理任何异常/错误会出现问题?大概你的目标是获取信息?任何其他方式都将是(afaics)多余的,并且会给您在不断变化的规格和功能的移动目标上的代码维护问题
-
获取信息不是问题。但我不仅想获取 Exif 信息,还想在 Exif 标头中写入一些内容/更改 Exif 信息。如果文件还没有 Exif 标头(但支持它),我想创建 Exif 标头并将信息写入其中。所以我不能只检查 Exif 标头是否已经可用,如果是则读取。
-
对。该库是否支持编写 Exif?
-
Metadata类有一个方法addDirectory,我可以在其中添加新目录(例如ExifIFD0Directory的新实例),在Directory上,您可以调用setInt、setString等等。所以我假设该库支持编写 Exif。
标签: java exif metadata-extractor