【问题标题】:Accesing resources in a JAR [duplicate]访问 JAR 中的资源 [重复]
【发布时间】:2014-06-30 19:49:53
【问题描述】:

好的,伙计们,我正在尝试将我的游戏编译成 jar 文件,但我无法加载图像。从 NetBeans 运行时,一切正常。但在 JAR 中,URL 始终为空。

这是我正在使用的代码:

    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 并检查内容,我的纹理文件夹在那里,里面的图像也有。任何想法我做错了什么?

【问题讨论】:

    标签: java image jar javax.imageio


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      以前在这里回答过:

      Accessing a file inside a .jar file

      更好的使用

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

      【讨论】:

      • -1 不要重复另一个问题的答案。如果是重复的,不要回答并标记它。
      • @Duncan 我也标记了这篇文章,我知道它很快就会被删除,但我们应该让作者知道它已经得到了回答。
      • 如果您标记,则会出现一条评论,这足以通知作者。如果您发布答案,它可能会吸引反对票,因为看起来您只是在收获声誉。
      • 好的。抱歉,我不知道 :) 下次我会标记。
      猜你喜欢
      • 2020-01-31
      • 2012-11-28
      • 2011-02-08
      • 2016-12-29
      • 2012-04-26
      • 2015-04-21
      • 2012-05-11
      相关资源
      最近更新 更多