加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

无法读取输入文件 – 读取jar文件中包含的图像 – java

发布时间:2020-12-15 02:25:48 所属栏目:Java 来源:网络整理
导读:我想有类似的问题,但我找不到解决方案.我正在研究基于 Java Swings的绘画应用程序. 我需要为BufferedImage类创建一个实例,以便保存我绘制的图像.我想选择一张背景图片,我会画一些东西.我有一些预定义的背景图像集,我放在与源文件相同的文件夹中,并访问代码中
我想有类似的问题,但我找不到解决方案.我正在研究基于 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文件本身不会打开.

所以我需要一些帮助和解释.提前致谢.

解决方法

jar文件的内容区分大小写.这可能听起来很愚蠢,但你检查了文件的情况吗?如果你有文件File.jpg,那么加载file.jpg将无法正常工作.甚至扩展都区分大小写(file.JPG vs file.jpg).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读