首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用AntBuilder压缩特定文件

用AntBuilder压缩特定文件
EN

Stack Overflow用户
提问于 2013-02-20 11:35:29
回答 1查看 1.8K关注 0票数 0

我需要将一个文件集合从不同的位置压缩到一个zip中,保持它们的初始关系。例如,我只需要使用以下文件夹结构的a1和b2

代码语言:javascript
复制
Top -- A -- a1
         -- a2
    -- B -- b1
            b2

我希望压缩文件看起来像:

代码语言:javascript
复制
Top -- A -- a1
    -- B -- b2

我怎样才能用AntBuilder做到这一点呢?我试过:

def deploymentFiles =“$HOME//a.tsv”,“$HOME//b.tsv”, def ant =新的AntBuilder() def zipFile =新文件(“deployment_zipFile.zip”) ant.zip( destFile:"${zipFile.getAbsolutePath()}“) {文件集( dir:"$HOME”){ deploymentFiles.each {f ->包括: deploymentFiles.join(",“)}}

但这只是压缩了整个主文件夹。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-20 11:49:22

给定这样的目录结构:

代码语言:javascript
复制
-- home
   |-- Songs
   |   |-- A
       |   |-- a1.tsv
       |   \-- a2.tsv
       |-- B
           |-- b1.tsv
           \-- b2.tsv

然后,这个代码:

代码语言:javascript
复制
def HOME = 'home'
def deploymentFiles = [ 'Songs/A/a1.tsv', 'Songs/B/b1.tsv' ]
def zipFile = new File("deployment_zipFile.zip")
new AntBuilder().zip( basedir: HOME,
                      destFile: zipFile.absolutePath,
                      includes: deploymentFiles.join( ' ' ) )

创建一个压缩文件,该文件在解压时包含:

代码语言:javascript
复制
unzip ../deployment_zipFile.zip 
Archive:  ../deployment_zipFile.zip
   creating: Songs/
   creating: Songs/A/
  inflating: Songs/A/a1.tsv          
   creating: Songs/B/
  inflating: Songs/B/b1.tsv  
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14978846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档