检查文件是否可以作为BufferedImage读取

时间:2012-12-03 20:24:21

标签: java image bufferedimage javax.imageio

有没有办法检查文件是否可以作为BufferedImage读取而不使用ImageIO.read(文件)进行尝试?

我最终可以提取文件的mime类型,但是有没有BufferedImage默认支持的mime类型列表或类似的东西?

1 个答案:

答案 0 :(得分:2)

我不知道默认情况,但ImageIO.getReaderMIMETypes()会为您提供目前支持的读者列表。

正确的做法是尝试ImageIO.createImageInputStream(file) - 如果它不抛出IOException但返回null,则图像不可读。

请注意,ImageIO.read(file)为不受支持的MIME格式引发异常,它将返回null。仅对无法解码的受支持文件(即文件已损坏)或IO错误(显然)抛出异常。