有没有办法检查文件是否可以作为 BufferedImage 读取,而无需尝试使用 ImageIO.read(File) ?
我最终可以提取文件的 mime 类型,但是是否有 BufferedImage 或类似内容的默认支持的 mime 类型列表?
最佳答案
默认情况下我不知道,但 ImageIO.getReaderMIMETypes()
将为您提供当前支持的阅读器列表。
正确的做法可能是尝试 ImageIO.createImageInputStream(file)
- 如果它不抛出 IOException,而是返回 null,则图像不可读。
请注意,ImageIO.read(file)
也不会针对不受支持的 MIME 格式抛出异常,而是返回 null。仅当无法解码的受支持文件(即文件已损坏)或 IO 错误(显然)时才会引发异常。
关于java - 检查文件是否可以作为 BufferedImage 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13691058/