getClass()。getResource找不到图像文件

时间:2018-05-23 12:14:54

标签: java eclipse classloader

我的类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设置可能是错误的。

2 个答案:

答案 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")