Java 从res文件夹加载图像
我把游戏编码作为我作业的一部分,我正试图从res文件夹加载一幅图像,但我得到了NullPointerException:Java 从res文件夹加载图像,java,classpath,bufferedimage,Java,Classpath,Bufferedimage,我把游戏编码作为我作业的一部分,我正试图从res文件夹加载一幅图像,但我得到了NullPointerException: ```Exception in thread "Thread-0" java.lang.IllegalArgumentException: input == null! at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1400) at prg_hra/esrever.BufferedImageLoader.loa
```Exception in thread "Thread-0" java.lang.IllegalArgumentException: input == null!
at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1400)
at prg_hra/esrever.BufferedImageLoader.loadImage(BufferedImageLoader.java:15)
at prg_hra/esrever.Hra.init(Hra.java:38)
at prg_hra/esrever.Hra.run(Hra.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)```
res文件夹已经在Java构建路径中,我99%确定我放在了正确的路径中。我得到了BufferedImageLoader类:
public class BufferedImageLoader {
private BufferedImage image;
public BufferedImage loadImage(String path) {
try {
image = ImageIO.read(getClass().getResource(path));
} catch (IOException e) {
e.printStackTrace();
}
return image;
}
我在游戏课的inti metode中使用它:
private void init() {
WIDTH=getWidth();
HEIGHT=getHeight();
BufferedImageLoader loader = new BufferedImageLoader();
level = loader.loadImage("/res/level.png");
handler = new Handler();
kam=new Kamera(0,0);
handler.addObjekt(new Hrac(100, 100, handler, ObjektID.Hrac));
handler.createLevel();
this.addKeyListener(new KeyInput(handler));
}
我看过其他人的一些类似问题,但他们大多只是走错了路
编辑:我也试过了
level=loader.loadImage(“level.png”)代码>
及
level=loader.loadImage(“/level.png”)代码>
两者都不起作用。尝试一下level=loader.loadImage(“level.png”)
而不是level=loader.loadImage(“/res/level.png”)代码>
如果您正在尝试获取资源,则不需要编写资源目录。我尝试过,同时还将level.png放在代码文件夹中,使其与其他文件夹相似,但仍然是相同的例外。您是否将res目录设置为IDE中的资源文件夹。(Eclipse)您是指属性->Java构建类->库->添加类文件夹?是的,我这样做了,但我必须单击模块路径或类路径才能单击添加类文件夹可能,我很久没有使用Eclipse了。相对于类路径(在运行时),“res/”
在哪里?没有这些信息,就无法判断正确的路径是什么。。。