加密压缩文件的解密操作
描述: 适用于解压加密后的.zip文件,同样也适用于未加密的.zip文件,未加密解压时,不执行setPassword(password)方法即可;
参数: 方法需要三个参数,分别是.zip文件路径(zipPath
),解压后文件存放路径(destPath
)和解压密码(password
);
代码: 代码一共需要两个包,注意别导错了
import org.apache.commons.lang3.StringUtils;
import net.lingala.zip4j.core.ZipFile;
public class UnzipDemo {
public void unzipWithPassword(String zipPath, String destPath, String password){
// 先判断zip源文件是否存在,不存在退出
if (StringUtils.isBlank(zipPath)){
return;
}
ZipFile zipFile;
try{
zipFile = new ZipFile(zipPath);
// 设置字符集
zipFile.setFileNameCharset("utf-8");
// 判断是否加密
if (zipFile.isEncrypted()){
// 添加密码
zipFile.setPassword(password);
}
//解压
zipFile.extractAll(destPath);
}catch (Exception e){
System.out.println("解压失败");
}
}
public static void main(String[] args) {
UnzipDemo unzipDemo = new UnzipDemo();
unzipDemo.unzipWithPassword("D:/demo/client.zip", "D:/demo", "123");
}
}
运行结果: 两个sql文件加密压缩后解压测试