Чтение групп свойств Java из файла - PullRequest
4 голосов
/ 14 июля 2011

Можно ли читать различные группы свойств из файла Java без ручной обработки?

Под «ручным» я подразумеваю чтение файла построчно, определение местоположения начала группы свойств и затем извлечение соответствующих пар ключ-значение. На практике это означает, что нужно заново изобретать (большую часть) колесо, которое составляет метод Properties.load ().

По сути, я ищу простой способ считывания из одного файла нескольких групп свойств, причем каждая группа может быть идентифицирована, чтобы ее можно было загрузить в свой собственный объект Java Properties.

1 Ответ

7 голосов
/ 14 июля 2011

Если вы хотите использовать java.util.Properties вы можете использовать префиксы. В файле .properties:

group1.key1=valgroup1key1
group2.key1=valgroup2key1
group2.key2=valgroup2key2

и прочитайте их так:

class PrefixedProperty extends Properties {
    public String getProperty(String group, String key) {
        return getProperty(group + '.' + key);
    }
}

и использование:

/* loading, initialization like for java.util.Properties */
String val = prefixedProperty.getProperty("group1", "key1");

Вы также можете использовать ini4j с файлами Windows INI.

Другой, лучший способ - использовать собственный, структурированный файл (например, XML).

...