2012-03-14 4 views

답변

0

이 (Solomon Duskis's solution에 학점)

import java.io.File 
import java.io.FileInputStream 
import java.io.FileOutputStream 
import java.util.zip.ZipEntry 
import java.util.zip.ZipOutputStream 

//Your folder here 
File topDir = new File('c:\\FilesToZip'); 
//Your zip file here 
ZipOutputStream zipOutput = new ZipOutputStream(new FileOutputStream('c:\\zipfile.zip')); 

int topDirLength = topDir.absolutePath.length() 

topDir.eachFileRecurse 
{ file -> 
    def relative = file.absolutePath.substring(topDirLength).replace('\\', '/') 
    if (file.isDirectory() && !relative.endsWith('/')) 
    { 
     relative += "/" 
    } 

    ZipEntry entry = new ZipEntry(relative) 
    entry.time = file.lastModified() 
    zipOutput.putNextEntry(entry) 

    if(file.isFile()) 
    { 
     zipOutput << new FileInputStream(file) 
    } 
} 

zipOutput.close() 
를 작동합니다
관련 문제