Я хочу заполнить HashMap
, используя класс Properties
. Я хочу загрузить записи в файл .propeties
, а затем скопировать его в HashMap
.Заполнение HashMap записями из файла свойств
Раньше я только что инициализировал 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
здесь?
В случае вы получаете ** нуль при использовании getResourceAsStream * *, вероятно, потому, что вы ищете файл за пределами classpath. Итак, чтобы прочитать абсолютный путь к файлу, вы можете сделать: \t \t 'File file = new File (" absolute/file/path/resume.properties "); \t \t \t FileInputStream fileInputStream = new FileInputStream (файл); \t \t \t properties.load (fileInputStream); \t \t \t fileInputStream.close(); ' –