admin管理员组文章数量:1639675
1.导入pom依赖
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>1.3.1</version>
</dependency>
2.代码实现
public void reZipCsvFiles(MultipartFile[] file,String targetZipRealPath,byte[] aesByte){
String aesStr = new String(aesByte);
try {
//设置压缩文件参数
ZipParameters parameters = new ZipParameters();
//设置压缩方法
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
//设置压缩级别
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
//设置压缩文件是否加密
parameters.setEncryptFiles(true);
//设置aes加密强度
parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
//设置加密方法
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
//设置密码
parameters.setPassword(aesStr.toCharArray());
//压缩文件,并生成压缩文件
ArrayList<File> filesToAdd = new ArrayList<File>();
for (MultipartFile file1 : file) {
System.out.println(file1.getOriginalFilename());
//File realFile = new File(file1.getOriginalFilename());
File realFile = new File(okFile+ "temp"+File.separator+file1.getName());
//将file1文件的流复制到readFile中(MutipartFile转File)
FileUtils.copyInputStreamToFile(file1.getInputStream(),realFile);
filesToAdd.add(realFile);
}
//创建ZipFile文件对象,指定压缩后的保存位置。
ZipFile zipFile = new ZipFile(okFile+targetZipRealPath);
//将文件列表和加密参数添加到zipFile开始压缩生成zip文件。
zipFile.addFiles(filesToAdd,parameters );
} catch (ZipException | IOException e) {
e.printStackTrace();
}
}
版权声明:本文标题:java将文件压缩成ZIP并加密 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1729294543a1194564.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论