无法找到路径,创建参数异常

时间:2014-12-25 01:46:49

标签: java netbeans

我知道问题是什么我只是不知道如何解决它。所以我有一个我想在程序中渲染的图像。我使用ImageIO加载图像。但它似乎与我给它的路径有问题。我使用NetBeans作为我的IDE,我不知道我是否正确保存图像文件。

第一种方法:

public void init(){
    BufferedImageLoader loader = new BufferedImageLoader();
    try{
        spriteSheet = loader.loadImage("/sprite_sheet.png");

    }catch(IOException e){
        e.printStackTrace();
    }

    SpriteSheet ss = new SpriteSheet(spriteSheet);
    player = ss.grabImage(1,1,32,32);
}

加载器BufferedImageLoader类:

public class BufferedImageLoader {

    private BufferedImage image;

    public BufferedImage loadImage(String path) throws IOException{
        image = ImageIO.read(getClass().getResource(path));
        return image;
    }

}

我将图像保存在'src'文件夹下的'res'文件夹下。

错误: Exception in thread "Thread-2" java.lang.IllegalArgumentException: input == null!

谢谢。

2 个答案:

答案 0 :(得分:0)

尝试使用文件的绝对路径,或者如果你需要亲戚检查这个post(例如假设你在默认包下有一个res文件夹,你试试“/ res / yourfile”

答案 1 :(得分:0)

为什么需要使用getClass()。getResource()?

ImageIO.read的最简单用法如下:

image = ImageIO.read(new File(path));

您可能还需要在路径中添加文件夹。

spriteSheet = loader.loadImage("/src/res/sprite_sheet.png");