检查文件是否是图像

Tim*_*Tim 9 java image jai

我正在使用JAI并创建一个文件:

PlanarImage img = JAI.create("fileload", myFilename);
Run Code Online (Sandbox Code Playgroud)

如果文件存在,我在该行之前检查.但是我如何检查文件是.bmp还是.tiff或图像文件?

有人知道吗?

Syn*_*r0r 8

Image Magick项目具有识别图像的功能,并且Image Magick的Java包装器名为JMagick,我认为您可能需要考虑而不是重新发明轮子:

http://www.jmagick.org

我一直在使用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)