我需要通过INI文件与第三方软件通信,为此我使用了ini4j库。
一切都很顺利,直到我需要能够使用>80个字符的密钥长度。
库正在返回:
线程"main"java.lang.IollegalArgumentException中的异常:也有密钥长:012345678901234567890在java.util.prefs.AbstractPreferences.put(AbstractPreference.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();
}
我能够通过使用JIniFile库来解决我的问题(https://github.com/SubZane/JIniFile)而不是Ini4j库。现在一切都很好。