Если я не ошибаюсь, то, как вы используете ClassLoader, он ищет путь к файлу относительно того, где он вызывается.
Из фотографии видно, что вы используете ClassLoader из класса DAOFactory, верно? Вы объявляя путь к файлу, чтобы быть
stock/DAO/dao.properties
Если вы вызываете его из DAOFactory, Java ищет файл в
<where DAOFactory is>/stock/DAO/dao.properties
Если DAOFactory и dao.properties находятся в том же файл я думаю, что ваш путь к файлу должен быть просто
dao.properties
Так это выглядит в той же папке, что DAOFactory находится.
EDIT: используйте класс DAOFactory для чтения в файле свойств.
Используя что-то вроде следующего фрагмента кода, вызовите эту функцию из класса DAOFactory, используя только основной метод, чтобы попытаться узнать, можете ли вы прочитать файл свойств без каких-либо других. Измените любые классы или имена, необходимые для работы на вашем локальном компьютере.
public static String getProperty(String property) {
String value = "";
try (InputStream is = DAOFactory.class.getResourceAsStream("dao.properties")) {
Properties prop = new Properties();
prop.load(is);
value = prop.getProperty(property);
} catch (Exception e) {
e.printStackTrace();
}
return value;
}
http://stackoverflow.com/a/7098501/1352766 Это должно предоставить вам некоторую информацию о вашей проблеме. – morganw09dev
Не могли бы вы также опубликовать фрагмент кода, который вы используете, чтобы попытаться загрузить файл? – morganw09dev
Могу ли я сделать это в комментариях? – Sara