您的当前位置:首页正文

1.6_与文件系统交互

来源:花图问答

在gradle拷贝文件非常简单,可以声名一个 Task,指定 type为 'Copy' ,如下

    task copyTask(type: Copy)

当然,这个task不会做任何事情,因为我们没有告诉它要拷贝的文件和需要拷贝到哪里,最简单的就是拷贝文件从一文件夹到别一个文件夹,可以用 task 的'from'方法声明来源,'into'声明要拷贝文件的目的地。下面这个例子就是拷贝images文件夹下的文件,到build文件夹下

task copyImages(type: Copy) {

    from 'images'

    into 'build'

}

还有,就是我们可以通过 'include' 和'exclude'去指定包含或不包含某些文件

task copyJpegs(type: Copy) {

    from 'images'

    include '*.jpg'

    into 'build'

}

如下,也可以同时拷贝多个不同的源文件

task copyImageFolders(type: Copy) {

    from('images') {

        include '*.jpg'

        into 'jpeg'

    }

    from('images') {

        include '*.gif'

        into 'gif'

    }

    into 'build'    

}

2.gradle也提供了Zip or Tar 两种类型文件的实现,

task zipImages(type: Zip) {

    baseName = 'images' //压缩文件名称

    destinationDir = file('build') //目标文件夹

    from 'images'//源文件夹

 }

//有时删除一个文件,如下

task deleteBuild(type: Delete) {

    delete 'build'

}