antを使用してパッケージを解凍、圧縮する


使用するjarパッケージ:
 ant.jar
 
1、解凍パック:
/**
 *     zip   
 * @param unZipfile:           (  +  +.+   )
 * @param destFile:      
 * */
public void UNCompress(File unZipfile, File destFile) {
	FileOutputStream fileOut;
    File file;
    InputStream inputStream;
    ZipFile zipFile=null;
    ZipOutputStream zipOut=null;     //  Zip
    try {
        //    zip   
        zipFile = new ZipFile(unZipfile,"GBK");//    ,         (          ,            )
        //  zipFile      ,        
        for (@SuppressWarnings("unchecked")
        Enumeration<ZipEntry> entries = zipFile.getEntries(); entries.hasMoreElements();) {
            ZipEntry entry =  entries.nextElement();
            //              
            file = new File(destFile+File.separator+entry.getName());
            if (entry.isDirectory()) {
                file.mkdirs();
            } else {
                File parent = file.getParentFile();//             ,   .
                if (!parent.exists()) {
                    parent.mkdirs();
                }  
                //             
                    inputStream = zipFile.getInputStream(entry);
  
                    fileOut = new FileOutputStream(file);
                    int length = 0;
                    //           
                while ((length = inputStream.read(buf)) > 0) {
                    fileOut.write(buf, 0, length);
                }
                fileOut.close();
                inputStream.close();
            }
        }
        zipFile.close();
    } catch (IOException ioe) {
        ioe.printStackTrace();
    }
}

 
2、圧縮パック:
/**
 *     
 * @param classFileList:             
 * */
public void compress(List<File> classFileList) {  
	String srcPathName=null;//             
	File zipFile=null;//     (  +  +.+   )
	File srcdir=null;
	Project prj=null;
	Zip zip = null;
	if(classFileList!=null && classFileList.size()>0){
		for(File f:classFileList){
			//System.out.println(f.getAbsolutePath()+"
"+f.getName()); srcPathName = f.getAbsolutePath(); //System.out.println(f.getAbsolutePath()+File.separator+f.getName()+".zip"); zipFile = new File(f.getAbsolutePath()+".zip") ; srcdir= new File(srcPathName); if (!srcdir.exists()){ throw new RuntimeException(srcPathName + " !"); } if(zipFile.exists()){// zipFile.delete(); } prj = new Project(); zip = new Zip(); zip.setEncoding("GBK");// , , zip.setProject(prj); zip.setDestFile(zipFile); FileSet fileSet = new FileSet(); fileSet.setProject(prj); fileSet.setDir(srcdir); zip.addFileset(fileSet); zip.execute(); // } } }