当前位置:  开发笔记 > 编程语言 > 正文

使用Groovy解压缩存档

如何解决《使用Groovy解压缩存档》经验,为你挑选了3个好方法。

Groovy中是否有内置的支持来处理Zip文件(groovy方式)?

或者我是否必须使用Java的java.util.zip.ZipFile来处理Groovy中的Zip文件?



1> Chad Gorshin..:

也许Groovy没有对zip文件的"原生"支持,但使用它们仍然是非常简单的.

我正在使用zip文件,以下是我正在使用的一些逻辑:

def zipFile = new java.util.zip.ZipFile(new File('some.zip'))

zipFile.entries().each {
   println zipFile.getInputStream(it).text
}

您可以使用findAll方法添加其他逻辑:

def zipFile = new java.util.zip.ZipFile(new File('some.zip'))

zipFile.entries().findAll { !it.directory }.each {
   println zipFile.getInputStream(it).text
}



2> 小智..:

根据我的经验,最好的方法是使用Antbuilder:

def ant = new AntBuilder()   // create an antbuilder

ant.unzip(  src:"your-src.zip",
            dest:"your-dest-directory",
            overwrite:"false" )

这样你就不负责做所有复杂的事情 - 蚂蚁为你照顾它.显然,如果你需要更精细的东西,那么这不会起作用,但对于大多数"只需解压缩这个文件"的场景,这确实很有效.

要使用antbuilder,只需在类路径中包含ant.jar和ant-launcher.jar.



3> John Feminel..:

AFAIK,没有本土方式.但请查看这篇文章,了解如何.zip(...)向File 添加方法,这将非常接近您正在寻找的方法.你只需要制作一个.unzip(...)方法.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有