![](/img/trans.png)
[英]ExifTool: Removing all metadata of an image except one in java application
[英]Read metadata with ExifTool
我正在尝试使用Exiftool读取插图文件元数据值。 我尝试了如下。
File[] images = new File("filepath").listFiles();
ExifTool tool = new ExifTool(Feature.STAY_OPEN);
for(File f : images) {
if (f.toString().contains(".ai"))
{
System.out.println("test "+tool.getImageMeta(f, Tag.DATE_TIME_ORIGINAL));
}
}
tool.close();
以上代码不打印任何值。 我甚至试过这个。
public static final File[] IMAGES = new File("filepath").listFiles();
ExifTool tool = new ExifTool(Feature.STAY_OPEN);
for (File f : IMAGES) {
System.out.println("\n[" + f.getName() + "]");
System.out.println(tool.getImageMeta(f, Format.NUMERIC,
Tag.values()));
}
仅打印{IMAGE_HEIGHT=2245, IMAGE_WIDTH=5393}
。 如何使用Exiftool调用元数据值。 任何建议和参考链接都非常感谢。
对于给定的API,它要么;
1 - 不包含您要查找的标签
2 - 文件本身可能没有填充该标记
3 - 您可能希望在调用exiftool.exe
时使用更通用的标记命令重新创建自己的标记
查看源代码并找到包含API可用的所有标记的enum
,它将向您显示您受限制的内容。 但是,你可能想考虑让你自己的班级类似于你正在使用的班级。 我正在做同样的事情。 这样你就可以将标签存储在一个集合或HashMap
而不是enum
,因此在标签选择方面的限制要少得多。 然后,您所要做的就是将您想要的标记的命令写入进程的OutputStream,然后从InputStream中读取结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.