[*] 如何修改jar包里的文件? 例如: 有一个jar包: Test.jar, 里面有MANIFEST文件,有一个主类App.class, 有一个文件data.txt。那么我想通过App运行之后,能写data.txt,要怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/keyboardsun/archive/2008/02/15/2097336.aspx可以参考这篇blog。在运行过程中,解压test.jar 然后 修改data.txt,然后再打包回去。 楼上的好像要指定jar包的名字,那我要怎么获得当前运行的jar包的文件名呢? 压缩文件的处理,一般都是解压再压缩的过程,不能往压缩文件中直接写入东西。如果你的java程序是运行在压缩包上的,那么这个包就只能解压,因为正在运行的程序是不可以被覆盖的。所以你还是打消这种念头比较好。 jar包里的照样能写,不需要自己解压缩,既然虚拟机能解压缩class文件,其它文件也能,这样:ClassLoader loader = App.class.getClassLoader();InputStream is = loader.getResourceAsStream(“data.txt”); 到底哪错了,咋客户端没反应 JFrame Frame 区别 swt的上中下框架布局 gridbaglayout问题 有谁用过JNI(JDK+BC)? 移动文件的问题 救命啊!谁帮我写一个getTable() 函数将查询结果返回到tA1! java 1.8 新特性之 Lambda表达式 [Java Java SE] 如何生存一串数字曲线数字 关于爬虫模拟登陆 《代码大全第二版》书中的小疑问 字符串交换问题, 求解
可以参考这篇blog。
在运行过程中,解压test.jar 然后 修改data.txt,然后再打包回去。
如果你的java程序是运行在压缩包上的,那么这个包就只能解压,因为正在运行的程序是不可以被覆盖的。
所以你还是打消这种念头比较好。
InputStream is = loader.getResourceAsStream(“data.txt”);