【发布时间】:2019-05-05 00:25:57
【问题描述】:
我需要通过 INI 文件与第 3 方软件进行通信,为此我使用了 ini4j 库。
一切进展顺利,直到我需要能够使用 >80 个字符的密钥长度。
图书馆正在返回:
线程“主”java.lang.IllegalArgumentException 中的异常:也有键 长: 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 在 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();
}
【问题讨论】: