Image Magick项目具有识别图像的功能,并且Image Magick的Java包装器名为JMagick,我认为您可能需要考虑而不是重新发明轮子:
我一直在使用Image Magick,包括命令行中的"识别"功能,它一旦识别图片就永远不会失败.
回到我绝对需要该功能并且JMagick不存在的日子我已经习惯了Java的Runtime.exec()ImageMagick identify命令并且它工作得很好.
现在JMagick存在,这可能不再是必要的了(但我还没有尝试过JMagick).
请注意,它提供的不仅仅是格式,例如:
$ identify tmp3.jpg
tmp3.jpg JPEG 1680x1050 1680x1050+0+0 DirectClass 8-bit 293.582kb
$ identify tmp.png
tmp.png PNG 1012x900 1012x900+0+0 DirectClass 8-bit 475.119kb
Run Code Online (Sandbox Code Playgroud)