Я загружая HashMap как этотЗагрузка HashMap в Java
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();
}
}
Мой settings.txt выглядит, что
k_close=1
теперь доступ к HashMap keys.get("k_close").intValue();
, но я вызвала NullPointerException.
Когда я жестко кодирую keys.put("k_close",1);
, он работает. Разделение строки чтения работает правильно.
Если вы вызываете 'System.out.println (keys)', что вы получаете? –
Вы отлаживаете то, что помещено в ваш список? – Smutje
'Integer.getInteger' - это не то, что вы ищете. _ "Определяет целочисленное значение системного свойства с указанным именем. [...] Если нет свойства с указанным именем, если указанное имя пустое или пустое или если свойство не имеет нужного числового формата , то возвращается null. "_ –