我猜想类似的问题已经被问到,但我找不到解决方案。我只是在基于Java Swings的绘画应用程序上工作。 我需要为BufferedImage类创建一个实例,以保存我绘制的图像。我想选择一幅背景图片,我会画出一些东西。我有一些预定义的背景图像集,放在与源文件相同的文件夹中,并访问代码中的那些背景图像。代码在Netbeans中运行时完美运行。如果我构建并运行jar文件,它说无法读取输入文件。我才知道,我们不能直接访问该文件罐中,所以我用下面的代码:无法读取输入文件 - 读取jar文件中包含的图像-java
InputStream is = this.getClass().getClassLoader().getResourceAsStream("bg3.jpg");
bgfile=ImageIO.read(is);
bgfile是BufferedImage类的一个对象。所以一旦我作为一个jar文件运行,下面的IOexception被抛出:
无法读取输入文件!
但是,如果我用winrar打开jar文件,我可以在jar文件的根目录下找到文件bg3.jpg。 如果我将路径设置为“/bg3.jpg”,则jar文件本身不会打开。
所以我需要一些帮助和解释。提前致谢。