工作正常的ImageIO.read表达式突然停止了

时间:2013-01-11 21:54:07

标签: java null nullpointerexception javax.imageio

我目前正在尝试为我正在制作的小游戏加载spritesheet。问题是这段代码:

private void load(){
    try {
        BufferedImage image = ImageIO.read(Sprite.class.getResource(path));
        int w = image.getWidth();
        int h = image.getHeight();
        image.getRGB(0, 0, w, h, pixels, 0, w);
    } catch (IOException e) {
        e.printStackTrace();
    }
}  

ImageIO.read()始终返回null。它也没有任何例外。显然,当我调用image.getWidth()时,我在下一行收到错误,因为图片是null

让我感到困扰的是,10分钟前同一段代码完全正常。我没有改变任何东西,只是一个根本不影响阅读过程的价值;即使改变它也不会做任何事情。

有谁知道该怎么做?

1 个答案:

答案 0 :(得分:0)

我认为你的问题就在这里:

Sprite.class.getResource(path)

你可以写出这一行并检查你的路径是否合适。 当您的文件路径不为true时,会发生此问题。使用以下代码行检查文件路径:

System.out.println(Sprite.class.getResource(path));

然后你就可以找到问题了。