ImageIO不会正确导入BufferedImage

时间:2014-11-30 16:10:58

标签: java bufferedimage javax.imageio

抛出错误 -

线程“Thread-3”中的异常java.lang.IllegalArgumentException:input == null!     在javax.imageio.ImageIO.read(未知来源)

代码 -

try {
        playerImage = ImageIO.read(Player.class
                .getResourceAsStream("/toon.png"));
    } catch (IOException e) {
        e.printStackTrace();
    }

档案路径 -

H:\工作空间\艾萨克\资源\ toon.png

我对此进行了一些研究,但没有一个解决方案对我有用。任何想法?

1 个答案:

答案 0 :(得分:1)

如果Isaac是您的项目文件夹,那么您的阅读方式应该有效。请检查目录resources是否是源文件夹(在eclipse中它应该有一个包含java包的文件夹的图标),如果没有,则右键单击它并转到Build path并且选择Use as Source Folder

您的目录结构应如下所示:

编译前

H:\workspace\Isaac
├───resources
│       toon.png
│
└───src
        Player.java

编译后

H:\workspace\Isaac
├───bin
│       Player.class
│       toon.png
│
├───resources
│       toon.png
│
└───src
        Player.java

getResourceAsStream查找bin中的图片,而不是resources中的图片