分享

JAVA org.apache.tools.ant.taskdefs.Zip 压缩/解压缩

 岑经沧海难为水 2015-11-18
import java.io.File;  

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;  
import org.apache.tools.ant.taskdefs.Expand;
import org.apache.tools.ant.taskdefs.Zip;  
import org.apache.tools.ant.types.FileSet;  
  
/**
 * @ClassName: ZipCompressorByAnt
 * @CreateTime
 * @Description: 压缩文件的通用工具类-采用ant中的org.apache.tools.ant.taskdefs.Zip来实现,更加简单。
 *
 */
public class ZipFile {  
public final static String encoding = "GBK";
    private File zipFile;  
  
    /**
     * 压缩文件构造函数
     * @param pathName 最终压缩生成的压缩文件:目录+压缩文件名.zip
     */
    public ZipFile(String finalFile) {  
        zipFile = new File(finalFile);  
    }  
      
    /**
     * 执行压缩操作
     * @param srcPathName 需要被压缩的文件/文件夹
     */
    public void compressExe(String srcPathName) {  
        File srcdir = new File(srcPathName);  
        if (!srcdir.exists()){
            System.out.println(srcPathName + "不存在!");  
        } 
          
        Project prj = new Project();  
        Zip zip = new Zip();  
        zip.setProject(prj);  
        zip.setDestFile(zipFile);  
        FileSet fileSet = new FileSet();  
        fileSet.setProject(prj);  
        fileSet.setDir(srcdir);  
        //fileSet.setIncludes("**/*.java"); //包括哪些文件或文件夹 eg:zip.setIncludes("*.java");  
        //fileSet.setExcludes(...); //排除哪些文件或文件夹  
        zip.addFileset(fileSet);  
        zip.execute();  
    }  
 
    public static void unzip(String zipFilepath, String destDir)
   throws BuildException, RuntimeException {
  if (!new File(zipFilepath).exists())
   throw new RuntimeException("zip file " + zipFilepath
     + " does not exist.");
  Project proj = new Project();
  Expand expand = new Expand();
  expand.setProject(proj);
  expand.setTaskType("unzip");
  expand.setTaskName("unzip");
  expand.setEncoding(encoding);
  expand.setSrc(new File(zipFilepath));
  expand.setDest(new File(destDir));
  expand.execute();
 }
    public static void main(String[] args) {  
      
          
//     ZipFile zca = new ZipFile("E:\\动态库.zip");  
//        zca.compressExe("E:\\动态库");  
//        System.out.println("成功!");
   
    unzip("E:\\动态库.zip","E:\\测试解压");
    System.out.println("成功!");
    } 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多