打包的jar 替换或修改文件

Python07

打包的jar 替换或修改文件,第1张

java 中 jar包的修改文件,一般分两种:

第一种  修改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()

}

}