Groovy本地文件扩展名

时间:2017-09-07 08:19:12

标签: file groovy

新手问题。如何在MarkUpBuilder中加载具有特定扩展名的本地文件(sql)?

import groovy.io.FileType
import groovy.xml.*

def sw = new StringWriter()
def xml = new groovy.xml.MarkupBuilder(sw)

def dir = new File("C:\\Users\\John\\git\\changelogs\\version1")


xml.dataBaseChangeLog(){
    dir.eachFileRecurse(FileType.FILES).eachFileMatch(~/.*.sql/) { file ->   
----------------------------------------------------------^ <- //It's bad
            changeSet(author:"John", ID:"JIRA", failOnError: "True", runAlways: "false")
            sqlFile(path:file, relativeToChangelogFile: "true", encoding: "utf8")    
            rollback(){       
                sqlFile(path:file, relativeToChangelogFile: "true")
    }}}
    println sw

1 个答案:

答案 0 :(得分:1)

代码中的

有一个明显的错误:

没有java.io.File.eachFileRecurse()只有一个参数:groovy.io.FileType

请参阅javadoc:http://docs.groovy-lang.org/latest/html/gapi/groovy/io/FileType.html

简单的解决方案:

dir.eachFileRecurse(FileType.FILES){
    if(it.name =~/\.txt/ ){
        println "$it"
    }
}
相关问题