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;  
            } 
        }