软件编程
位置:首页>> 软件编程>> java编程>> Java实现自动压缩文件并加密的方法示例

Java实现自动压缩文件并加密的方法示例

作者:东天里的冬天  发布时间:2023-05-08 03:33:18 

标签:Java,压缩,文件,加密

本文实例讲述了Java实现自动压缩文件并加密的方法。分享给大家供大家参考,具体如下:

实现功能:自动压缩并加密


/**
*
* @Title: zipFilesAndEncrypt
* @Description: 将指定路径下的文件压缩至指定zip文件,并以指定密码加密,若密码为空,则不进行加密保护
* @param srcFileName 待压缩文件路径
* @param zipFileName zip文件名
* @param password 加密密码
* @return
* @throws Exception
*/
public void zipFilesAndEncrypt(String srcFileName,String zipFileName,String password) throws Exception{
ZipOutputStream outputStream=null;
System.out.println("进入测试类");
if(StringUtils.isEmpty(srcFileName) || StringUtils.isEmpty(zipFileName)){
 log.error("请求的压缩路径或者文件名有误");
 return;
}
try {
 ZipParameters parameters = new ZipParameters();
 parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
 parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
 if(!StringUtils.isEmpty(password)){
  parameters.setEncryptFiles(true);
  parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
  parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
  parameters.setPassword(password);
 }
 ArrayList<File> filesToAdd = new ArrayList<File>();
 File file=new File(srcFileName);
 File[] files = new File[0];
 if(file.isDirectory())
 {
  files = file.listFiles();
  for(int i=0;i<files.length;i++){
  filesToAdd.add(new File(srcFileName+files[i].getName()));
  System.out.println("文件名称:"+files[i].getName());
  }
 }
 else {
  filesToAdd.add(new File(srcFileName+file.getName()));
 }
 ZipFile zipFile = new ZipFile(srcFileName+zipFileName+".zip");
 zipFile.addFiles(filesToAdd, parameters);
}
catch (Exception e) {
 System.out.println("文件压缩出错");
 log.error("文件压缩出错", e);
throw e;
}
}

希望本文所述对大家java程序设计有所帮助。

来源:http://blog.csdn.net/gwd1154978352/article/details/71078916

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com