admin管理员组文章数量:1589660
1、加入依赖
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>1.3.1</version>
</dependency>
/**
* 压缩单个文件并加密
*/
private static String zipFile(String file, String fileOutPath, String passWord, String fileName) throws FileNotFoundException {
FileInputStream fileInputStream = new FileInputStream(file);
ZipParameters parameters = new ZipParameters();
// 压缩方式
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
// 压缩级别
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
// 开启加密
parameters.setSourceExternalStream(true);
// 文件名称
parameters.setFileNameInZip(fileName + ".xlsx");
if (!"".equals(passWord)) {
parameters.setEncryptFiles(true);
// 加密方式
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);
// 设置加密密码
parameters.setPassword(passWord.toCharArray());
}
try {
ZipFile zipFile = new ZipFile(fileOutPath + fileName + ".zip");
zipFile.addStream(fileInputStream, parameters);
// 加密解压后删除excel
deleteFile(file);
} catch (ZipException e) {
e.printStackTrace();
}
return fileOutPath + fileName + ".zip";
}
/**
* 删除文件
*/
private static boolean deleteFile(String sPath) {
boolean flag = false;
File file = new File(sPath);
// 路径为文件且不为空则进行删除
if (file.isFile() && file.exists()) {
file.delete();
flag = true;
}
return flag;
}
本文标签: 文件压缩SpringBoot
版权声明:本文标题:springBoot 文件压缩加密 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728074408a1144301.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论