0

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.

4

1 回答 1

6

您的代码不执行任何操作,并且绝对不会编译。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")));
于 2012-03-11T10:20:42.167 回答