第一种 修改jar包中的文件,用压缩工具打开,直接进行修改或替换就可以了。
第二种 修改或替换 jar包的jar包文件 ,具体步骤如下:
解压第一层目录
把对应的jar包解压出来后
打开需要修改的jar包中的文件,修改文件,此时要选择解压工具的文件项,把要添加的文件该成 不直接压缩直接存储文件。
接着把改好的文件放到第一个jar包即可。
JDK提供了一个JarFile类用来处理Jar文件的,不过只提供了读的功能你可以通过如下步骤实现你的目标:
1) 通过JarFile读出Jar包信息。
2) 根据读出的信息将Jar包解压至临时目录。
3) 在临时目录里替换文件。
4) 通过RunTime.exex()执行控制台命令重新生成Jar包
代码如下:/***
* 方法:
* @Title: replaceContentToFile
* @Description: TODO
* @param @param path 文件
* @param @param str 开始删除的字符
* @param @param con 追加的文本
* @return void返回类型
* @throws
*/
public static void replaceContentToFile(String path, String str ,String con){
try {
FileReader read = new FileReader(path)
BufferedReader br = new BufferedReader(read)
StringBuilder content = new StringBuilder()
while(br.ready() != false){
content.append(br.readLine())
content.append("\r\n")
}
System.out.println(content.toString())
int dex = content.indexOf(str)
if( dex != -1){
System.out.println(content.substring(dex, content.length()))
content.delete(dex, content.length())
}
content.append(con)
br.close()
read.close()
FileOutputStream fs = new FileOutputStream(path)
fs.write(content.toString().getBytes())
fs.close()
} catch (FileNotFoundException e) {
e.printStackTrace()
} catch (IOException e){
e.printStackTrace()
}
}