24

クラスHashMapを使用してデータを入力したい。ファイル にエントリをロードしてから、 .Properties
.propetiesHashMap

以前はHashMap、プロパティ ファイルを使用して を初期化するだけでしたが、現在は既に を定義してHashMapおり、コンストラクターのみで初期化したいと考えています。

以前のアプローチ:

Properties properties = new Properties();

try {
    properties.load(ClassName.class.getResourceAsStream("resume.properties"));
} catch (Exception e) { 

}

HashMap<String, String> mymap= new HashMap<String, String>((Map) properties);

しかし、今、私はこれを持っています

public class ClassName {
HashMap<String,Integer> mymap = new HashMap<String, Integer>();

public ClassName(){

    Properties properties = new Properties();

    try {
      properties.load(ClassName.class.getResourceAsStream("resume.properties"));
    } catch (Exception e) {

    }
    mymap = properties;
    //The above line gives error
}
}

プロパティ オブジェクトをここに割り当てるにはどうすればよいHashMapですか?

4

5 に答える 5

33

私の理解が正しければ、プロパティの各値は整数を表す文字列です。したがって、コードは次のようになります。

for (String key : properties.stringPropertyNames()) {
    String value = properties.getProperty(key);
    mymap.put(key, Integer.valueOf(value));
}
于 2013-05-02T16:07:10.143 に答える
1
public static Map<String,String> getProperty()
    {
        Properties prop = new Properties();
        Map<String,String>map = new HashMap<String,String>();
        try
        {
            FileInputStream inputStream = new FileInputStream(Constants.PROPERTIESPATH);
            prop.load(inputStream);
        }
        catch (Exception e) {
            e.printStackTrace();
            System.out.println("Some issue finding or loading file....!!! " + e.getMessage());

        }
        for (final Entry<Object, Object> entry : prop.entrySet()) {
            map.put((String) entry.getKey(), (String) entry.getValue());
        }
        return map;
    }
于 2017-01-02T18:10:20.450 に答える