1
我試圖使用ini4j與以下代碼在Groovy添加多個值選項到我的ini文件(我嘗試了一些變種):的Groovy/Java的:Ini4j插入到單個參數的多個值在不同的線路
import org.ini4j.Wini
List valuesList = [ 'val1’, ‘val2’, ‘val3' ]
(new Wini(new File("test.ini"))).with{
valuesList.each{
put('sectionNa'sectionName','optionName', it)
}
store()
}
import org.ini4j.Wini
List valuesList = [ 'val1’, ‘val2’, ‘val3' ]
(new Wini(new File("test.ini"))).with{
Section sectionObject = get(‘sectionName’)
sectionObject .put('optionName', ‘val1’)
sectionObject .put('optionName', ‘val2’)
sectionObject .put('optionName', ‘val3’)
}
store()
}
我ini文件像這樣的:
[sectionName]
optionName = val3
但我想:
[sectionName]
optionName = val1
optionName = val2
optionName = val3
莫非你請教我如何解決我的問題?提前致謝!
更新1
我仍在等待更好的解決方案。但是我在下面創建了直接的ini文件編輯。請給我提供任何關於它的反饋:
List newLines = []
File currentFile = new File("test.ini")
List currentLines = currentFile.readLines()
int indexSectionStart = currentLines.indexOf('sectionName')
(0..indexSectionStart).each{
newLines.add(currentLines[ it ])
}
List valuesList = 'val1,val2,val3'.split(',')
valuesList.each{
newLines.add("optionName = $it")
}
(indexSectionStart + 1 .. currentLines.size() - 1).each{
newLines.add(currentLines[ it ])
}
File newFile = new File("new_test.ini")
if (newFile.exists()) newFile.delete()
newLines.each {
newFile.append(it+'\n')
}
而只需刪除舊文件並重新命名一個新文件。我實現它,因爲我沒有找到任何insertLine()像非標準File
INI文件[不應該有一個部分重名(HTTP:// en.wikipedia.org/wiki/INI_file#Duplicate_names) –
@tim_yates這不是一個案例。應用程序我必須正確設置重複選項。 – zubactik
想想我可能已經明白了(見下文) –