0

我需要通过 INI 文件与第 3 方软件进行通信,为此我使用了 ini4j 库。

一切进展顺利,直到我需要能够使用大于 80 个字符的密钥长度。

图书馆正在返回:

Exception in thread "main" java.lang.IllegalArgumentException: Key too long: 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 at java.util.prefs.AbstractPreferences.put(AbstractPreferences.java:243)

该库已在 Preferences.java 中进行了设置:

public static final int MAX_KEY_LENGTH = 80;

有什么干净的方法吗?

我在这里找到了一些相关的东西,但我不确定如何使用它: http://ini4j.sourceforge.net/apidocs/index.html?org/ini4j/addon/ StrictPreferences.html

这是示例代码:

try {
    Wini ini = new Wini(new File("test.ini"));
    ini.getConfig().setStrictOperator(true);
    ini.getConfig().setEscape(false);
    java.util.prefs.Preferences prefs = new IniPreferences(ini);
    prefs.node("Section").put("0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", "Test");
    ini.store();
} catch (IOException e) {
    e.printStackTrace();
}
4

1 回答 1

0

我能够通过使用 JIniFile 库 ( https://github.com/SubZane/JIniFile ) 而不是 Ini4j 库来解决我的问题。现在一切正常。

于 2018-12-04T15:24:43.677 回答