Java使用getClass()加载图像时抛出NullPointerException.getResource()

时间:2012-06-17 16:22:30

标签: java image jar

我有一个Applet,我打算在打包到jar文件后嵌入到html文件中。

使用以下行

在主Applet类中加载图像

return getImage(getClass().getResource("/../content/"+path));

这在通过eclipse运行时有效,但是当我将它导出到jar文件时,我得到一个Null Pointer Exception。我做了一些谷歌搜索,我试图使用以下代码的getResourceAsStream

InputStream is = new BufferedInputStream(
                 getClass().getResourceAsStream("/../content/"+path));
return ImageIO.read(is);

但这不适用于eclipse。

内容是图像的顶级目录,路径是指向所需图像的指定路径。小程序位于名为game的文件夹中,与内容处于同一级别

3 个答案:

答案 0 :(得分:3)

这是一个评论现在我在这里回答(因为OP说它确实有帮助):尝试将内容放入与访问内容的类相同的包中并相应地更改路径,看看是否有帮助。如果是这样,那么你的路径就会出现问题。

答案 1 :(得分:0)

我有同样的问题。但是使用以下方法解决了它: -

<ClassName>.class.getClass().getResource(urlString);

希望这会有所帮助......

答案 2 :(得分:0)

你可以试试这个。

getClass().getClassLoader().getResourceAsStream(name)

另外,你的路径看起来有点奇怪。 / ..基本上是指root的父目录,它不可能正常工作。