2012-03-14 16 views
-2

Cドライブにいくつかのファイルが入ったフォルダがあり、そのファイルを圧縮するためのgroovyスクリプトを探しています。任意のPLZがそのフォルダを圧縮するためのGroovyスクリプトを書く方法を助けることができますか?私はこのGroovyスクリプトをSoapUIで使う必要があります。soapUIからフォルダを圧縮するためのGroovyスクリプトの作成方法は?

ありがとう、

ラティフ。

答えて

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() 
を働くだろう
関連する問題