网上有人说,jar访问文件只能使用流。也就是说不能直接访问。
不知道是不是准确的,不过从jar本身是zip文件来看,很有可能。
废话少说,那么要如何访问jar中的文件(比如gif,jpg等图片)呢?
使用URL。
下面以实例来说明。
首先假设我们要访问图片的类叫ImageUtil。
那么有小小的要求,将图片放到ImageUtil.class所在的包中,也就是同一目录下。
那么ImageUtil.class.getResource("background.png")就可以得到图片的URL。
然后Toolkit.getDefaultToolkit().getImage()就能拿到图片了。
当然了,事实上,图片的位置并不是强制性的,只要与getResource的目录一致就行了。
使用上面的方法可以使得在eclipse中和在jar中代码一致。打包后完全不需要修改就可以运行了。