如何编写Groovy脚本从soapUI压缩文件夹?

时间:2012-03-14 19:52:41

标签: groovy

我在C盘中有一个文件夹,里面有一些文件,我正在搜索groovy脚本来压缩该文件。可以任何一个plz帮助如何编写groovy脚本来压缩我需要在SoapUI中使用这个groovy脚本的文件夹。

谢谢,

Latiff。

1 个答案:

答案 0 :(得分:1)

这样可行(致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()