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

标签 java image bufferedimage javax.imageio

有没有办法检查文件是否可以作为 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/

相关文章:

java - 稍后包装从互联网上获取的 try-catch

Java如何格式化字符串?

html - HTML 中的 Sprite 图像,它们是否在显示任何内容之前加载?

image - 在VBA中获取图像大小?

java - 如何快速将 BufferedImage 转换为 byte[]?

Java BufferedImage.getRGB()——坐标越界

java - 如何使用 Apache POI 在 word 文档中插入图像?

java - JSF:如何初始化使用 @managementProperty 传递给我的 ManagedBean 的 bean?

image - 我可以在后台运行 "image.dart"函数吗

java - 从图像中剥离 Alpha channel