用java程序压缩jar或war文件
来源:互联网 发布:mac系统清理工具 编辑:程序博客网 时间:2024/05/01 15:14
前几天一直想做一个程序,保文件或文件夹以及其子目录里的文件打包到压缩文件中,在网上找到了点资料,但不完整,经过调试,终于做出了一个,与大家分享。
package syl.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.jar.JarEntry;
import java.util.jar.JarOutputStream;
/**
* @author SHIYL
*
*/
public class copyAllFileToJar {
public static void main(String args[]) {
String nameOfJar = "D://TEST//2//BATCH.jar";
String nameToAdd = "D://TEST//1";
FileOutputStream jar = null;
File file = new File(nameOfJar);
JarOutputStream newJar = null;
try {
jar = new FileOutputStream(file);
newJar = new JarOutputStream(jar);
File[] addfile = (new File(nameToAdd)).listFiles();
for (File forFile : addfile) {
if (forFile.isFile()) {
writeFile(nameToAdd, newJar, forFile.getName());
} else if (forFile.isDirectory()) {
copyDirectiory(nameToAdd, newJar, forFile.getName());
}
}
} catch (IOException ex) {
System.err.println("Can't access new file");
} finally {
try {
newJar.close();
jar.close();
} catch (IOException ignored) {
ignored.printStackTrace();
}
}
}
public static void copyDirectiory(String nameToAdd, JarOutputStream newJar, String fileName) throws IOException {
File[] file = (new File(nameToAdd + "//" + fileName)).listFiles();
for (File forFile : file) {
if (forFile.isFile()) {
writeFile(nameToAdd, newJar, fileName + "//" + forFile.getName());
} else if (forFile.isDirectory()) {
copyDirectiory(nameToAdd, newJar, fileName + "//" + forFile.getName());
}
}
}
private static void writeFile(String nameToAdd, JarOutputStream newJar,
String fileName) {
byte buffer[] = new byte[4096];
int bytesRead;
File com;
FileInputStream fis = null;
try {
com = new File(nameToAdd + "//" + fileName);
fis = new FileInputStream(com);
JarEntry entry = new JarEntry(fileName);
newJar.putNextEntry(entry);
while ((bytesRead = fis.read(buffer)) != -1) {
newJar.write(buffer, 0, bytesRead);
}
} catch (IOException ex) {
System.err.println("writeFile err : " + ex);
} finally {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
终于成功了,大家试试吧!!へ_へ
- 用java程序压缩jar或war文件
- Linux替换jar或war中的文件
- 分析:JAVA中的Jar、War、Ear文件
- dos命令将项目文件打包成war或jar
- 如何快速反编译JAVA的jar包或war包
- 如何快速反编译JAVA的jar包或war包
- 用jar命令打包成war文件
- war和jar文件
- jar 生成war 文件
- Java 文件路劲获取(流的方式),适用与jar包或war包运行方式
- java压缩文件夹或文件
- java程序调用exe文件和调用自己打的jar包或其他外部jar包
- 用Java命令生成jar,war包
- java jar war 打包
- Java:如何把java文件打成Jar包/War包
- 如何用java 程序打包 war 文件
- 将java文件打包成jar和war
- Java中Ear、Jar、War文件之间有何不同
- 随鼠标显示图片
- offer
- UInx,windowes的环境配置!
- SQL Server 数据库管理常用的SQL和T-SQL语句
- FlexBuilder3beta2 +flash debug 9.0.47
- 用java程序压缩jar或war文件
- object.insertAdjacentElement(sWhere, oElement)在一个制定的位置插入一个元素
- [转]浅析cin.getline,cin.get,cin.ignore,cin.clear用法
- Sql 常用表操作
- 通过串口收发短消息(下)
- 用InstallShield 进行 ASP 软件的打包和自动安装
- Hello world
- 微软传真服务的介绍
- COBOL语言