INI4J длина ключа INI> 80 символов - PullRequest
0 голосов
/ 03 декабря 2018

Мне нужно общаться со сторонним программным обеспечением через файлы INI, и я использую для этого библиотеку ini4j.

Все шло хорошо, пока мне не понадобилось использовать ключ длиной> 80 символов.

Библиотека возвращает:

Исключение в потоке "main" java.lang.IllegalArgumentException: Слишком длинный ключ: 0123456789012345678901234567890123456789012345678901456789234567894567892323676723.reference.px.p67.p0 .6767.p0.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();
}

1 Ответ

0 голосов
/ 04 декабря 2018

Мне удалось решить мою проблему с помощью библиотеки JIniFile (https://github.com/SubZane/JIniFile) вместо библиотеки Ini4j. Теперь все работает нормально.

...