新手问题。如何在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
答案 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"
}
}