文字列をファイルに保存して場所を指定する方法は?私は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"/>'
}
}
上記のコードがあることを行う:このバリアントは維持しません
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())
}
あなたの質問を変更して、ファイルの内容の例と変更後の内容を提示してください。一般的には、メモリ内の全ファイルを読み込み、読み込まれたデータを変更してファイルに書き戻す必要があります。 Groovyでは、xmlparser(またはxmlslurper)を使用してxmlを読み取り操作できます。 – daggett
私はxmlファイルを追加したいと思います:) xmlparserを見て... –