Как перебрать значения в файле свойств в Java - PullRequest
2 голосов
/ 22 июля 2011

поэтому мне было интересно, если бы кто-нибудь знал, как мне поступить в чтении в значениях Mutliple из ключа, разделить их запятыми и сохранить их в массиве данных из файла свойств в Java?


У меня есть файл свойств, в котором есть только это:

currentProposalsLocation = C: / Документы и настройки / Стажер Проект / Извлеченные пункты
wordsList = "A, B, C, D, E, F"


И это мой код для загрузки файла свойств:

    static String proposalsDirectory;
    static ArrayList<String> keywordsList = new ArrayList<String>();
    private static final String PROP_FILE="C:/Documents and Settings/Intern Project/ipConfig.properties";

public static void readPropertiesFile()
{
     try
    {
         InputStream is = XMLTagParser.class.getResourceAsStream(PROP_FILE);
         Properties prop = new Properties();
         prop.load(is);
         proposalsDirectory = prop.getProperty("currentProposalsLocation");
         //?????What to do here????
         is.close();
    }
    catch(Exception e)
    {
         System.out.println("Failed to read from " + PROP_FILE + " file.");
    }
}

Если бы кто-нибудь мог мне помочь, я был бы очень признателен.

Ответы [ 4 ]

8 голосов
/ 22 июля 2011
keywordsList.addAll(Arrays.asList(prop.getProperty("keywordsList").split(","));

Должно работать.

3 голосов
/ 22 июля 2011

Properties extends HashTable реализует Map, поэтому вы можете получить все ключи как Set<String>, используя keySet().

. Любое значение свойства является строкой.Вы можете разделить строку по заданному разделителю.

Если вы спрашиваете, как добавить этот объект обратно в свойства, ответ «вы не можете».Свойства использует ключ String и значение String.Если вам нужно поведение с несколькими картами (строковый ключ, значение списка), вам придется реализовать свое собственное.

2 голосов
/ 22 июля 2011

Используйте Перечислитель для циклического перебора Properties

1 голос
/ 22 июля 2011

Просто чтобы добавить другую опцию, вы можете установить свойства в XML-файле, использовать Spring Dependency Injection , чтобы загрузить их в объект в вашем Java-коде, а затем манипулировать ими по своему усмотрению.

Заметьте, с помощью Dependency Injection вы можете настроить этот список непосредственно в XML как список, чтобы вам даже не пришлось выполнять всю занятую работу по превращению разделенной запятыми строки в список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...