我的类IntroState.java有以下路径:
Project/src/GameState/IntroState.java
我的图片位于:
Project/Resources/Images/logo.png
文件夹资源是源文件夹。我使用Eclipse氧气。
我尝试加载它:
new BufferedImage image = ImageIO.read(getClass().getResource("/Images/logo.png");
我运行时得到NullPointerException
。
这个代码在一个较旧的项目中运行良好,但我的笔记本电脑死了,我不得不重新安装Eclipse并重做我的代码,从那时起它就停止了工作。
有谁看到了问题?
我尝试了很多不同的路径,我觉得我的一些Eclipse设置可能是错误的。
答案 0 :(得分:1)
它将根据班级的位置搜索图像。由于在Project / src中找到了GamesState.Introstate类(实际上在eclipse中它可能在Project / bin中找到),当你使用路径时它将在Project / src / Images / logo.png中查找图像 /Images/logo.png
答案 1 :(得分:0)
您应该将文件读作流
尝试使用:
getClass().getClassLoader().getResourceAsStream("Images/logo.png")
或
getClass().getClassLoader().getResource("Images/logo.png")