How can I remove a section with or without the Java library INI4J?
This does not work
Wini ini = new Wini(File);
System.out.println(Integer.toString(Position));
ini.remove(Integer.toString(Position));
I also tried it with the ConfigParser.
您的代码不执行任何操作,并且绝对不会编译。Wini 不是正确的类,根据 ini4j 文档,您需要实例化一个 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")));