java生成压缩包

import java.io.File;
import java.util.ArrayList;

import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import net.lingala.zip4j.model.ZipParameters;
import net.lingala.zip4j.util.Zip4jConstants;

public class doZipUtil {

    static String targetsrc = "C:/Users/Desktop/test.zip"; //生成压缩文件路径
    static String filesrc = "C:/Users/Desktop/test.pdf"; //需要压缩的文件1
//      String filesrc1 = "C:/Users/Desktop/test.doc"; //需要压缩的文件2
//      String filesrc2 = "C:/Users/Desktop/test1.doc"; //需要压缩的文件3
    static String folderToAdd = "C:/Users/Desktop/test"; //需要压缩的文件夹
    static String password = "1234";

    public static void filedozip() throws ZipException {

        try {
            ZipFile zipFile = new ZipFile(targetsrc);

            ArrayList filesToAdd = new ArrayList();
            //单个文件添加到压缩文件
            filesToAdd.add(new File(filesrc));
            /*多个文件添加到压缩文件
            filesToAdd.add(new File(filesrc));
            filesToAdd.add(new File(filesrc1));
            filesToAdd.add(new File(filesrc2));
            filesToAdd.add(new File(filesrc3));
            filesToAdd.add(new File(filesrc4));
            filesToAdd.add(new File(filesrc5));
            */

            ZipParameters parameters = new ZipParameters();
            //zip设置
            parameters.setCompressionMethod(Zip4jConstants.COMP_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.addFiles(filesToAdd, parameters);

            System.out.println("zip success");

        } catch (ZipException e) {
            e.printStackTrace();
        }
    }

    public static void folderdozip() throws ZipException {

        try{
            ZipFile zipFile = new ZipFile(targetsrc);

            ZipParameters parameters = new ZipParameters();     
            parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);       
            parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
            /*
            //设置密码
            parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
            parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
            parameters.setPassword(password);
            */
            zipFile.addFolder(folderToAdd, parameters);

            System.out.println("zip success");
        }catch (Exception e) {
            e.printStackTrace();
        }

    }
}

1、filedozip()中filesToAdd能添加多个文件地址 实现对多个文件的压缩处理
folderdozip()则只需要在全局变量folderToAdd中设定好需要压缩的文件夹的路径就能对整个文件夹进行压缩处理
2、zip设置那里 只能用AES 用其他的会报错 不知道为什么

附件:http://download.csdn.net/detail/qq_22778717/9632617

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值