Cha*_*ing 49
也许Groovy没有对zip文件的"原生"支持,但使用它们仍然是非常简单的.
我正在使用zip文件,以下是我正在使用的一些逻辑:
def zipFile = new java.util.zip.ZipFile(new File('some.zip'))
zipFile.entries().each {
println zipFile.getInputStream(it).text
}
Run Code Online (Sandbox Code Playgroud)
您可以使用findAll方法添加其他逻辑:
def zipFile = new java.util.zip.ZipFile(new File('some.zip'))
zipFile.entries().findAll { !it.directory }.each {
println zipFile.getInputStream(it).text
}
Run Code Online (Sandbox Code Playgroud)
小智 38
根据我的经验,最好的方法是使用Antbuilder:
def ant = new AntBuilder() // create an antbuilder
ant.unzip( src:"your-src.zip",
dest:"your-dest-directory",
overwrite:"false" )
Run Code Online (Sandbox Code Playgroud)
这样你就不负责做所有复杂的事情 - 蚂蚁为你照顾它.显然,如果你需要更精细的东西,那么这不会起作用,但对于大多数"只需解压缩这个文件"的场景,这确实很有效.
要使用antbuilder,只需在类路径中包含ant.jar和ant-launcher.jar.