java - 提取 .jpg 元数据/metadata-extractor/exif/java

标签 java jpeg exif metadata-extractor

我想标出日期,特别是拍摄 picture.jpg 的时间。我在网上发现我可以使用(元数据提取器)处理该问题,但无论我尝试什么都不会产生任何效果。 您能指导我使用该工具的最简单方法吗?

我的试验就像

public class ImageMetadata{
  public static void main(String[] arg){
    Metadata metadata = null;
    try{
        FileInputStream InputStream
           = new FileInputStream(
              "X://2015//Java//renamePict//pict/IMGP0092.JPG");
        metadata = ImageMetadataReader.readMetadata(InputStream);
    } catch(Exception Ex) {ex.printStackTrace;}
    System.out.println(metadata); // I know that perhaps I should use here some toString(). It is just try to check the compilation.
  }
}

这给我带来:

 Exception in thread "main" java.lang.NoClassDefFoundError: com/adobe/xmp/XMPException
 at com.drew.imaging.jpeg.JpegMetadataReader.<clinit>(JpegMetadataReader.java:53)
 at com.drew.imaging.ImageMetadataReader.readMetadata(ImageMetadataReader.java:98)
 at ImageMetadata.main(ImageMetadata.java:57)
Caused by: java.lang.ClassNotFoundException: com.adobe.xmp.XMPException
 at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
 at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
 ... 3 more

Java 结果:1 构建成功(总时间:1秒)

链接到

metadata-extractor

提前致谢!

最佳答案

xmp-core库添加到您的项目中。请考虑您需要的 xmp-core 版本。按照以下步骤获取 xmp-core 5.1.2 版本。

如果您使用 ant 构建器,请下载以下 jar 文件并将其添加到您的项目中。

xmpcore-5.1.2.jar

如果您使用 maven,请将以下依赖项添加到您的 pom.xml

<dependency>
    <groupId>com.adobe.xmp</groupId>
    <artifactId>xmpcore</artifactId>
    <version>5.1.2</version>
</dependency>

使用this url访问xmp代码库的maven存储库。

关于java - 提取 .jpg 元数据/metadata-extractor/exif/java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32805708/

相关文章:

java - 执行命令后客户端应用程序应采取什么操作?

java - 在不可修改的域 Java 类中覆盖 JAXB 绑定(bind)

python - 如何使用 opencv python 将图像的 alpha channel 转换为白色?

c++ - 使用 C++ 修改 EXIF 数据

java - 为什么默认构造函数和参数化构造函数都在一个类中?

java - 方法全局到项目 (Java)

python - Python 中 Tkinter Canvas 上 .jpg 图像的滚动条

r - 是否可以用R读取EXIF数据?

objective-c - 在 Objective-c 中从 exif 获取相机和镜头