首先要声明的是,我按照大家之前的解释,已经可以把图片打包入jar中,而且在任何路径运行该jar程序皆正确的读取图片。
但是在源代码中有一段是新创建一个图片(或者说读取原来的图片再更改),这里就有问题了,发现只能正确的读取jar中的图片,但是我现在没办法更改。
项目中,养家糊口,谢谢!!!!
但是在源代码中有一段是新创建一个图片(或者说读取原来的图片再更改),这里就有问题了,发现只能正确的读取jar中的图片,但是我现在没办法更改。
项目中,养家糊口,谢谢!!!!
你给的代码我看了,好像跟我的思路没什么不一样的。我给出我的代码,大家看看有什么
地方是不对了。
原先就有这样的一幅图片result.jpg
try {
URL path=ClassLoader.getSystemResource("shenyan/result.jpg");
System.out.println(path.getFile());
fos_jpg = new FileOutputStream(path.getFile());
ChartUtilities.writeChartAsJPEG(fos_jpg,1000,chart,400,300,null);
}
catch(IOException eio)
{
}
finally {
try {
fos_jpg.close();
}
通过上面的代码重新改变了图片的内容。
在eclipse下正确执行。但是打包jar以后发现jar里面原来图片根本没有改变,所以在其他地方在使用URL path=ClassLoader.getSystemResource("shenyan/result.jpg");或者图片当然就没什么变化了。怎么解决这个问题?????项目中,养家糊口,谢谢!!!!
String currentJarPath = URLDecoder.decode(YourClassName.class.getProtectionDomain().getCodeSource().getLocation().getFile(), "UTF-8");
这里的YourClassName是指什么????
JarEntry dbEntry = currentJar.getJarEntry("包名/配置文件");
这里的包名怎么填??
我是把原来的代码打包成了一个test,test.jar下面有shenyan文件夹,这个文件夹里面有我想要的文件result.jpg
非常感谢你的热心帮助,不管成功与否,谢谢!!!!