访问JAR中的资源

时间:2014-05-13 08:25:09

标签: java image jar javax.imageio

好的伙计们,所以我正在尝试将我的游戏编译成一个jar文件,但是我无法将图像加载到工作中。从NetBeans运行时,一切都很好。但是在JAR中,URL始终为null。

以下是我正在使用的代码:

    URL url = this.getClass().getResource("/textures/Lava.jpg");

    BufferedImage sourceImage = null;

    try
    {
        sourceImage = ImageIO.read(url);
    }
    catch(IOException e)
    {
        System.out.println(e.getMessage());
    }

我试过解压缩JAR并检查内容,我的纹理文件夹就在那里,里面的图像也是。我有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您应该将URL路径作为系统的相对路径。

答案 1 :(得分:1)

此前在这里回答:

Accessing a file inside a .jar file

更好地使用

new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/resources/" + filename)))