Java ImageIO-获取图像类型和exif数据

Java ImageIO-获取图像类型和exif数据,java,javax.imageio,Java,Javax.imageio,给定一些源文件(或更通用的输入流),我需要找出 是图像吗 如果是图像,则检索其类型(png/jpeg/gif/etc) 检索exif数据(如果可用) 我查看了API,但不清楚如何获取图像或Exif数据的类型。上一次我不得不这样做是在几年前,标准API无法读取Exif数据。此库可以执行以下操作: 简单答案: 使用 如果你很疯狂/勇敢/好奇,你可以通过读取流的前几个字节(这些是)来获取图像类型。我相信exif通常也处于流的开头。这是一个旧线程,但我最近在做这件事,发现ApacheTika库很有用

给定一些源文件(或更通用的输入流),我需要找出

  • 是图像吗
  • 如果是图像,则检索其类型(png/jpeg/gif/etc)
  • 检索exif数据(如果可用)

我查看了API,但不清楚如何获取图像或Exif数据的类型。

上一次我不得不这样做是在几年前,标准API无法读取Exif数据。此库可以执行以下操作:

简单答案: 使用


如果你很疯狂/勇敢/好奇,你可以通过读取流的前几个字节(这些是)来获取图像类型。我相信exif通常也处于流的开头。

这是一个旧线程,但我最近在做这件事,发现ApacheTika库很有用。 特别是用于分析通用流以检测其中的内容

我想这可能会帮助别人


要获取类型,只需查看文件扩展名。文件扩展名永远不能保证文件类型。没有任何东西可以阻止任何人非法重命名该文件。请注意,Tika在引擎盖下使用元数据提取器:)。似乎该产品是matt burns belowMagic number link提出的元数据提取器→ 错误403禁止。