【问题标题】:why src/images path not found in exported jar file为什么在导出的 jar 文件中找不到 src/images 路径
【发布时间】:2016-05-23 10:46:06
【问题描述】:

我在 src 文件夹 (src/images) 下有 images 文件夹。当我在 Eclipse 中运行程序时,程序运行良好,但是当我导出可运行的 jar 文件并尝试运行它时,我看到错误。我写在下面:

java.io.FileNotFoundException: src\images\test2.bmp (The system cannot find the
path specified)

我的程序:

public class FirstSWTExample {
public static void main(String[] args) {
  .
  .
  saveImage();
  Image image=new Image(display, "src/images/test2.bmp");
    shell.setImage(image);
  }
public static void saveImage() {
    String s="....";
    byte[] dataCustImg = Base64.decode(s.getBytes());

    try {

        OutputStream stream = new FileOutputStream("src/images/test2.bmp");

        stream.write(dataCustImg);
        stream.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}
}

我认为 jar 文件未找到图像文件夹。当我解压缩 jar 文件时,找不到图像文件夹。我该如何解决我的问题?如果我的问题很简单,我是 java 的初学者。

【问题讨论】:

  • 你试试这个吗?ImageIO.read(getClass().getResource("/images/test2.bmp"));
  • 感谢。但是如何将其设置为我的外壳?我是java新手
  • 当你在eclipse中运行你的程序时,有一个相对目录src,你的程序使用它。如果你想使用 jar 资源,你必须加载为 getClass().getResource(PATH) 但你可以改变它,看这个:stackoverflow.com/questions/2797367/…
  • 谢谢。我写 URL imgPath = FirstSWTExample.class.getClassLoader().getResource("/images/test2.bmp");但 imgPath 为空。为什么?
  • 您的图像是 Jar 内部还是外部?如果是在外面,一定要考虑 smruti ranjan awnser

标签: java image jar


【解决方案1】:

问题可能出在文件路径上。

这可能不是最好的解决方案,但您可以尝试使用绝对路径

"C:\\projectName\\src\\images\\test2.bmp"

【讨论】:

  • 谢谢,但我想在任何电脑上运行这个程序,也许有些电脑没有C盘
  • 那么你必须用你的 jar 提供你的图像文件夹
猜你喜欢
  • 2013-11-15
  • 1970-01-01
  • 2014-07-27
  • 2017-07-04
  • 2021-06-05
  • 2015-12-17
  • 2016-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多