0

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

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

4

1 回答 1

2

我不知道默认情况,但ImageIO.getReaderMIMETypes()会给你当前支持的读者列表。

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

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

于 2012-12-03T23:36:09.657 回答