чтение hashmap свойства java - PullRequest
       9

чтение hashmap свойства java

1 голос
/ 11 октября 2011

Ответ Я только что нашел то, что искал:

Properties properties = new Properties();
FileInputStream in = new FileInputStream("/somePath/file.map");
properties.load(in);
in.close();
HashMap<String, String> propMap = new HashMap<String, String>((Map) properties);

Это позволило мне вернуть открытые данные свойств в хэш-карту без необходимости знать имена свойств.

оригинальный вопрос.

У меня есть следующий код, который записывает результаты HashMap. Мне интересно, как проще всего открыть это свойство обратно и перенести данные обратно в HashMap, а putAll был хорошим способом получить данные в свойстве и сохранить их. Я не вижу getAll для его извлечения, и данные ключ / значение HashMap не были известны до создания хэш-карты, поэтому их нельзя просто получить по имени свойства. Данные после его создания будут статичными, поэтому я мог бы физически открыть файл, написанный на основе хэш-карты, чтобы получить имена свойств, но, скорее, не нужно было бы делать это таким образом. Спасибо за любую помощь.

Properties properties = new Properties();
properties.putAll(mapTabSets);
properties.store(new FileOutputStream("/somePath/file.map"),"Java properties);

Ответы [ 3 ]

2 голосов
/ 11 октября 2011

Хотя свойства не имеют функции getAll, они имеют

propertynames()
stringPropertyNames()

, оба из которых доставят коллекцию всех ключей свойства.Затем вы можете перебрать коллекцию и извлечь все значения из свойства с помощью

properties.getProperty(String)
1 голос
/ 11 октября 2011

Попробуйте следующее.

Properties properties = new Properties();
properties.load(new FileInputStream("/somePath/file.map"));
0 голосов
/ 28 мая 2014
    package com.mkyong.common;

    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Properties;

    public class ClassName {

        private static HashMap<String, String> mymap = new HashMap<String, String>();

        public ClassName() throws IOException{
            Properties prop = new Properties();
            prop.load(ClassName.class.getClassLoader().getResourceAsStream("ini.properties"));

            mymap.put("1", prop.getProperty("required.firstName"));
            mymap.put("2", prop.getProperty("required.lastName"));
            mymap.put("3", prop.getProperty("equired.address"));
        }

        public static void main(String[] args) throws IOException {
            ClassName className = new ClassName();
            System.out.println("The Value of Key-1 ::" + mymap.get("1"));
        }
    }

Use the properties file:-
****************************
required.firstName=Nitesh
required.lastName=Rathore
required.address=DangeChowk
...