在Java中加载HashMap

xum*_*202 0 java file-io file hashmap

我正在加载这样的HashMap

public void loadFromDefault() {
    keys.clear();
    try {
        FileReader fr = null;
        BufferedReader br = null;

        fr = new FileReader(new File("settings.txt"));
        br = new BufferedReader(fr);

        String s;
        while ((s = br.readLine()) != null ) {
            String[] sa = s.split("=",2);
            keys.put(sa[0], Integer.getInteger(sa[1]));
        }

        fr.close();
        br.close();

    } catch (Exception e) {
        e.printStackTrace();            
    }
}
Run Code Online (Sandbox Code Playgroud)

我的settings.txt看起来像那样

k_close=1
Run Code Online (Sandbox Code Playgroud)

我现在访问HashMap keys.get("k_close").intValue();但我提示NullPointerException.

当我硬编码keys.put("k_close",1);它的工作原理.读取线的拆分正常工作.

exc*_*on1 6

您应该使用Integer.parseInt()而不是getInteger方法.这就是你所需要的.