packagecom.cigna.hmc.groupinsurance.utils;importjava.io.File;importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;importorg.apache.commons.lang.StringUtils;importnet.lingala.zip4j.core.ZipFile;importnet.lingala.zip4j.exception.ZipException;importnet.lingala.zip4j.model.FileHeader;importnet.lingala.zip4j.model.ZipParameters;importnet.lingala.zip4j.util.Zip4jConstants;/*** ZIP压缩文件操作工具类 支持密码 依赖zip4j开源项目(http://www.lingala.net/zip4j/) 版本1.3.1
*
*@authorninemax*/
public classCompressUtil {/*** 使用给定密码解压指定的ZIP压缩文件到指定目录
*
* 如果指定目录不存在,可以自动创建,不合法的路径将导致异常被抛出
*
*@paramzip
* 指定的ZIP压缩文件
*@paramdest
* 解压目录
*@parampasswd
* ZIP文件的密码
*@return解压后文件数组
*@throwsZipException
* 压缩文件有损坏或者解压缩失败抛出*/
public static File[] unzip(String zip, String dest, String passwd) throwsZipException {
File zipFile= newFile(zip);returnunzip(zipFile, dest, passwd);
}/*** 使用给定密码解压指定的ZIP压缩文件到当前目录
*
*@paramzip
* 指定的ZIP压缩文件
*@parampasswd
* ZIP文件的密码
*@return解压后文件数组
*@throwsZipException
* 压缩文件有损坏或者解压缩失败抛出*/
public static File[] unzip(String zip, String passwd) throwsZipException {
File zipFile= newFile(zip);
File parentDir