【问题标题】:Java: Unable to read image fileJava:无法读取图像文件
【发布时间】:2013-11-13 22:13:33
【问题描述】:

我正在尝试使用以下代码加载 png:

BufferedImage image = ImageIO.read(new File(getClass().getResource(fileName).toString());

文件存在,目录中存在,我用这个加载文件无数次了。 我正在使用 eclipse 并且配置了类路径,但由于某种原因我得到了这个异常:

javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(Unknown Source)

同样的代码可以在另一个项目中使用...我真的不知道发生了什么...

【问题讨论】:

  • 我先看看 getClass().getResource(fileName).toString() 输出。
  • 文件可读吗?图像格式正确吗?
  • 这段代码没有意义。您想从类路径加载资源,或者从文件系统加载文件,但不能同时加载两者。决定你想要哪一个。

标签: java image exception


【解决方案1】:

我会完全避免尝试使用File 阅读 - 只需使用getResource 返回的URL

BufferedImage image = ImageIO.read(getClass().getResource(fileName));

除此之外,当资源位于 jar 文件中时,它仍然可以工作,而如果您尝试使用 File,则它不会。

【讨论】:

    猜你喜欢
    • 2017-07-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多