Step into Gradle - 06 - 文件管理

来源:互联网 发布:华宇软件股票 编辑:程序博客网 时间:2024/05/16 06:15

目录

    • 文件管理
      • 创建文件夹
      • File API
      • FileCollection API
      • 复制文件

摘要

File Api,FileCollection Api,Copy

文件管理

创建文件夹

task optFile << {    //根目录为当前 Project    def classesDir = new File('build/classes')    classesDir.mkdirs()}

File API

task localFile << {    // Using a relative path    File configFile = file('src/config.xml')    // Using an absolute path    configFile = file(configFile.absolutePath)    // Using a File object with a relative path    configFile = file(new File('src/config.xml'))    // File collections    FileCollection collection = files('src/file1.txt',            new File('src/file2.txt'),            ['src/file3.txt', 'src/file4.txt'])    // Iterate over the files in the collection    collection.each {File file ->        println file.name    }}

运行

gradle -q localFile

输出

file1.txtfile2.txtfile3.txtfile4.txt

FileCollection API

task listFile << {    File srcDir    // Create a file collection using a closure    FileCollection collection = files { srcDir.listFiles() }    collection + files('src3')    srcDir = file('src')    println "Contents of $srcDir.name"  //Contents of src    collection.collect { relativePath(it) }.sort().each { println it }    println "============================"    srcDir = file('src2')    println "Contents of $srcDir.name"  //Contents of src2    collection.collect { relativePath(it) }.sort().each { println it }}//运行gradle -q listFile

复制文件

第一种

Copy myCopy = task(myCopy, type: Copy)myCopy.from 'resources'myCopy.into 'target'myCopy.include('**/*.txt', '**/*.xml', '**/*.properties')

运行

gradle -q myCopy

第二种

task copy2(type: Copy) {    from 'resources'    into 'target'    include('**/*.txt', '**/*.xml', '**/*.properties')}

运行

gradle -q copy2
0 0
原创粉丝点击