2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 压缩zip文件和解压zip文件(设置压缩密码)

压缩zip文件和解压zip文件(设置压缩密码)

时间:2023-08-05 02:17:26

相关推荐

压缩zip文件和解压zip文件(设置压缩密码)

欢迎访问个人博客 德鲁大叔撸代码

说明:注意引入的依赖!!!!否则一直报错 很不容易找到的错误!!!

import net.lingala.zip4j.core.ZipFile;import net.lingala.zip4j.exception.ZipException;

一、压缩文件

压缩前效果:

压缩后效果

解压缩输入密码

@Testpublic void createZipFile(){String password = "123456"; // 设置压缩密码 解压的时候需要输入该密码进行解压String filePath = "D:\\app\\SFiles\\toprs\\createfile\\test\\";String sourceFileName = "_6666000001060017_div.csv";File sourceFile = new File(filePath+sourceFileName);String zipFileName = sourceFileName.replace(".csv",".zip");log.info("开始压缩文件,压缩后的文件名为:{}",zipFileName);ZipFile zipFile;try {zipFile = new ZipFile(filePath+zipFileName);File deleteFile = zipFile.getFile();if (deleteFile.exists()) {deleteFile.delete();}ZipParameters parameters = new ZipParameters();parameters.setCompressionMethod(P_DEFLATE);parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);parameters.setEncryptFiles(true);parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);parameters.setPassword(password);zipFile.addFile(sourceFile, parameters);log.info("文件{}压缩成功",sourceFileName);}catch (Exception e){log.info("压缩文件:{}失败",sourceFileName);}}

二、解压文件

public void unzip(String zipFileName, String unPath, String password) throws ZipException {try {ZipFile zipFile = new ZipFile(zipFileName);zipFile.setFileNameCharset("GBK");if (!zipFile.isValidZipFile()) {throw new ZipException("压缩文件不合法,可能被损坏");}File destDir = new File(unPath);if (destDir.isDirectory() && !destDir.exists()) {destDir.mkdir();}if (zipFile.isEncrypted()) {zipFile.setPassword(password.toCharArray());}zipFile.extractAll(unPath);} catch (Exception e) {throw new BizException("解压zip文件失败");}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。