我是Groovy的新手,無法解決此問題。我感謝任何幫助。groovy讀取文件,解決文件內容中的變量
我想從Groovy中讀取文件。在閱讀內容時,對於每行我想用不同的字符串值替換字符串'$ {random_id}'和'$ {entryAuthor}'。
protected def doPost(String url, URL bodyFile, Map headers = new HashMap()) {
StringBuffer sb = new StringBuffer()
def randomId = getRandomId()
bodyFile.eachLine { line ->
sb.append(line.replace("\u0024\u007Brandom_id\u007D", randomId)
.replace("\u0024\u007BentryAuthor\u007D", entryAuthor))
sb.append("\n")
}
return doPost(url, sb.toString())
}
但我得到了以下錯誤:
groovy.lang.MissingPropertyException:
No such property: random_id for class: tests.SimplePostTest
Possible solutions: randomId
at foo.test.framework.FooTest.doPost_closure1(FooTest.groovy:85)
at groovy.lang.Closure.call(Closure.java:411)
at groovy.lang.Closure.call(Closure.java:427)
at foo.test.framework.FooTest.doPost(FooTest.groovy:83)
at foo.test.framework.FooTest.doPost(FooTest.groovy:80)
at tests.SimplePostTest.Post & check Entry ID(SimplePostTest.groovy:42)
它爲什麼會抱怨的屬性,當我沒有做任何事情?我也嘗試過「\ $ \ {random_id \}」,它在Java String.replace()中工作,但不在Groovy中。
錯誤看起來正確。我沒有在您發佈的代碼中看到名爲'random_id'的屬性,我看到一個名爲'randomId'的屬性。該屬性'random_id'確實缺失:) – ubiquibacon
問題是我沒有試圖檢索名爲random_id的屬性的值。 –