【发布时间】:2011-08-28 11:29:19
【问题描述】:
我猜有人问过类似的问题,但我找不到解决方案。我正在开发一个基于 Java Swings 的绘画应用程序。 我需要为 BufferedImage 类创建一个实例,以便保存我绘制的图像。我想选择一张背景图片,我会在上面画一些东西。我有一些预定义的背景图像集,我将它们放在与源文件相同的文件夹中,并在代码中访问它们。该代码在 Netbeans 中运行时运行良好。如果我构建并运行 jar 文件,它会显示无法读取输入文件。我知道我们不能直接访问 jar 中的文件,所以我使用了以下代码:
InputStream is = this.getClass().getClassLoader().getResourceAsStream("bg3.jpg");
bgfile=ImageIO.read(is);
bgfile 是 BufferedImage 类的对象。因此,一旦我作为 jar 文件运行,就会引发以下 IOexception:
无法读取输入文件!
但是如果我用winrar打开jar文件,我可以在jar文件的根目录下找到bg3.jpg文件。 如果我将路径指定为“/bg3.jpg”,则 jar 文件本身不会打开。
所以我需要一些帮助和解释。提前致谢。
【问题讨论】:
标签: java image swing exception executable-jar