0

JavaライブラリINI4Jの有無にかかわらずセクションを削除するにはどうすればよいですか?

これは動作しません

Wini ini = new Wini(File);
System.out.println(Integer.toString(Position));
ini.remove(Integer.toString(Position));

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 に答える