У меня возникли проблемы с пониманием места размещения файла свойств в проекте java. У меня есть следующая структура проекта.
src.
|
java
|
test.properties
|
a.java
Parameters.properties
У меня есть следующий код для чтения файла свойств.
Properties prop = new Properties();
try {
InputStream in = this.getClass().getResourceAsStream("Parameters.properties");
// load a properties file
prop.load(in);
// get the property value and print it out
System.out.println(prop.getProperty("hello.world"));
} catch (IOException ex) {
ex.printStackTrace();
System.out.println("The code has failed here");
}
мой файл свойств имеет следующую строку
hello.world=Hello World
Я продолжаю получать ошибку с нулевым указателем, что заставляет меня думать, что он не умеет читать файл, потому что у него еще нет файла.
Вам нужно поставить файл Parameters.properties
не в папку src
, а в built
или target
папку. Или для простого объяснения найдите файл a.class
и поместите Parameters.properties
в ту же папку.
built.
|
java
|
test.properties
|
a.class
Parameters.properties
Потому что, когда вы используете метод getClass()
вы получаете двоичный файл с расширением .class
и поисковыми ресурсами в папке, где находится этот файл.
1.) Один из способов сделать это - добавить файл свойств в любую исходную папку. Исходная папка - это папка, включенная в путь класса. например, src/A.java Создать другую папку источника
на уровне src и файл места здесь
ресурсы /params.properties.
А в A.java присоединяется такой File file = new File(".//resources//params.properties");
2.) Еще один простой способ Добавить файл свойств в папку src и щелкнуть правой кнопкой мыши по файлу свойств → build Path → Add to Class Path.
И файл доступа в A.java вот так....
File file = new File("params.properties");