我正在尝试从我的res文件夹中加载一个图像,已经是Java BuildPath的一部分。可悲的是,似乎我无法找到相关的图像,也无法找到文件的绝对路径。 我总是收到此错误消息:
Exception in thread "Thread-2" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at schneider.twodgame.BufferedImageLoader.loadImage(BufferedImageLoader.java:14)
at schneider.twodgame.Game.init(Game.java:64)
at schneider.twodgame.Game.run(Game.java:99)
at java.lang.Thread.run(Unknown Source)
以下是代码的一部分:
public class BufferedImageLoader {
private BufferedImage image;
public BufferedImage loadImage(String path) throws IOException {
System.out.println(getClass());
image = ImageIO.read(getClass().getResource(path));
return image;
}
}
这是我尝试加载图片的方法。该方法是我的主类的一部分:
public void init() {
BufferedImageLoader loader = new BufferedImageLoader();
try {
spriteSheet = loader.loadImage("/res/sprite_sheet.png");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
答案 0 :(得分:1)
答案 1 :(得分:0)
目前正在查看类文件位置的.class文件夹或.jar文件:
[root folder of class files]/res/sprite_sheet.png
也许它应该在寻找:
[root folder of class files]/schneider/twodgame/res/sprite_sheet.png
在这种情况下,您应该删除前导斜杠(/
)。