Java Properties.getProperty() с массивом объектов

У меня есть файл конфигурации в таком формате,

object1=1
object2=2
object3=3
array={ 
   sub_object1=sub_1
   sub_object2=sub_2
   sub_object3=sub_3
}
object4=4
object5=5

Я пытаюсь обработать это с помощью Properties.getProperty, но не могу найти эффективный метод обработки массива.

    try {

        Properties props = new Properties();

        props.load( new FileInputStream( "settings.conf" ) );

        if( !props.isEmpty() ) 
        {
            props.stringPropertyNames().stream().forEach((key) -> 
            {
                if( !key.equals( "array" ) ) 
                {
                    List<Object> subkeys = props.list();

                    for( subkeys: subkey  ) )
                    {
                        System.out.println( "Subkey: " + props.getProperty( subkey ) );
                    }
                }
            });
        }
    } catch ( Exception e ) {
        e.printStackTrace();
    }

Я понимаю, что вышеизложенное ошибочно, но я не смог найти решение. У кого-нибудь есть идея?


person woahguy    schedule 25.01.2016    source источник
comment
Этот файл не соответствует формату файла свойств. Вы не должны использовать свойства для его анализа. Напишите свой собственный синтаксический анализатор или используйте стандартный формат, который легко анализируется и поддерживает древовидные структуры, такие как JSON.   -  person JB Nizet    schedule 26.01.2016
comment
Вы можете проверить этот сообщение. Надеюсь это поможет.   -  person jmj    schedule 26.01.2016
comment
Вы не можете сделать это по-своему. И свойства не имеют поддержки массива из коробки. Но вы можете определить свое свойство с помощью списка, разделенного запятыми, затем прочитать его и разделить на массив.   -  person eg04lt3r    schedule 26.01.2016
comment
Это нормально, вам нужно включить массив в ваш файл конфигурации, но я не понимаю, почему он содержит пары ключ-значение, поскольку предполагается, что массив содержит только значения. В вашем примере, что должно содержать List<Object> subkeys?   -  person Little Santi    schedule 26.01.2016