【发布时间】: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