如何将字符串保存到文件以指定位置?我使用path << 'string'
进行保存,但是在文件末尾给出它。在目标到xml(path
)文件中有</databaseChangeLog>
。我希望在该单词出现之前保存到文件。
有java解决方案click,但它是静态行。我的文件将是动态的,我不知道它会是什么行。
def add_to_version() {
def path = new File('C:/groovy/version-1.xml')
def branchId = "Promt"
def lineCount = 0
def count = path.eachLine { line ->
if(line.contains('<include file="' + branchId + '/' + branchId + '.xml" ')){
wordCount++
}else if(lineCount == 1 ){
println "package is there"
}
}
if(lineCount == 0){
path << '<include file="' + branchId + '/' + branchId + '.xml" ' + 'relativeToChangelogFile="true"/>'
}
}
答案 0 :(得分:2)
您可以像这样使用xml解析器:
def add_to_version(String branchId) {
def path = new File('C:/groovy/version-1.xml')
def xml = new XmlParser().parse(path)
xml.appendNode("include", [
file:"${branchId}/${branchId}.xml",
relativeToChangelogFile:"true"
])
groovy.xml.XmlUtil.serialize(xml, path.newOutputStream())
}
此变体不会保留xml格式和注释
但xml有效