如何删除带有或不带有Java库INI4J的部分?
这行不通
Wini ini = new Wini(File);
System.out.println(Integer.toString(Position));
ini.remove(Integer.toString(Position));
我还尝试了ConfigParser。
最佳答案
您的代码不执行任何操作,并且绝对不会编译。根据ini4j文档,Wini不是正确的类,您需要实例化Ini对象并使用Section对象删除/创建节。
我强烈建议您通读Ini4J文档。教程很棒,提供的示例回答了您的问题!
虽然您也可以继续阅读...
鉴于Ini文件
[部分]
somekey = somevalue
somekey2 = somevalue2
somekey3 = somevalue3
(使用Ini4J)
我们可以写
Ini iniFile = new Ini(new FileInputStream(new File("/path/to/the/ini/file.ini")));
/*
* Removes a key/value you pair from a section
*/
// Check to ensure the section exists
if (iniFile.containsKey("Section")) {
// Get the section, a section contains a Map<String,String> of all associated settings
Section s = iniFile.get("Section");
// Check for a given key<->value mapping
if ( s.containsKey("somekey") ) {
// remove said key<->value mapping
s.remove("somekey");
}
}
/*
* Removes an entire section
*/
if (iniFile.containsKey("Section")) {
// Gets the section and removes it from the file
iniFile.remove(iniFile.get("Section"));
}
// Store our changes back out into the file
iniFile.store(new FileOutputStream(new File("/path/to/the/ini/file.ini")));