: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();
}
}