:zip4j是一个挺方便的压缩框架基本上只需要提供几个参数就可以使用了很方便
1压缩
/**
* 压缩单个文件
* @param zipedFile
* @param needZipFile
*/
public static void zipSingleFile(File zipedFile,File needZipFile) {
ZipFile zipFile = null;
try {
zipFile = new ZipFile(zipedFile); //压缩后文件
} catch (ZipException e) {
e.printStackTrace();
}
ArrayList<File> filesToAdd = new ArrayList<File>(); //压缩文件集合
filesToAdd.add(needZipFile); //需要压缩的File对象
System.out.println(needZipFile.getAbsolutePath());
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); //压缩算法
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_ULTRA); //压缩级别
try {
zipFile.addFiles(filesToAdd, parameters);
} catch (ZipException e) {
e.printStackTrace();
}
}
如果想要压缩多个文件到要锁文件中只需要将形参改为List<File> needZipFileList即可 但是要注意压缩文件不需要创建 但是被压缩文件不存在将会报异常
2.解压缩:
/**
* 将文件解压缩到指定路径
*/
public static void exetractFile(File zipedFile, String storagePath) {
try {
ZipFile zipFile = new ZipFile(zipedFile);
zipFile.extractAll(storagePath);
} catch (ZipException e) {
e.printStackTrace();
}
}