读取jar中资源文件的问题

 当你把一个java写的程序打包为jar的时候,请务必注意你读取资源文件的方式。

 一般我们为了方便读取资源文件,在一个类中定义一个基本路径

base_path=ClassName.class.getResource("/").getPath();

变量,在其他的类中想读取资源文件的时候,直接用这个变量加上资源的相对路径,这样当然在ide里面运行是没有任何问题的,但是一旦打包成jar后就无法运行,原因是无法读取资源文件,因为jar的url的规则是这样的:file:/C:/fat.jar!images/img.jpg是这样的,这个和File的路径规则不一样,所以我们new 一个File当然不会成功了哦,在网上找了许久也没找到什么好点的办法,唯一知道的就是

ClassName.class .getResourceAsStream("/images/trayIcon.jpg")这样具体到某一个文件上去,得到一个流。那么这样在jar中是没任何问题的。

这个问题困扰了我很久,以前也遇到过,昨晚又遇到了,终于找到原因所在了,杯具++啊

大牛们看到了,千万别笑话我,如果有更好的办法请告知小弟,万分感谢!

发觉java真的不适合开发桌面应用程序啊。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值