У меня есть следующая структура пути к основному классу:
D:/java/myapp/src/manClass.java
и я хочу поместить файл свойств в
D:/java/myapp/config.properties
который будет содержать имя файла и некоторые другие конфигурации. Я установил имя файла в файле свойств следующим образом: file=file_to_read.txt
этот file_to_read.txt
будет расположен в D:/java/myapp/folder_of_file/
Основной класс сначала прочитает имя файла из файла свойств, а затем получит содержимое из файла.
Я могу сделать это, если оба config.properties
и file_to_read.txt
находятся в src/
с помощью mainClass.java
. Но не удалось добиться успеха с тем, как я хочу это сделать.
Может кто-нибудь мне помочь? Мне нужно ваше предложение о том, что я могу сделать, если я хочу поместить папку myapp
в любом месте моего диска с той же внутренней структурой, в которой я описал выше, и программа выполнит работу правильно.
Мне также нужно ваше предположение, что если я хочу выполнить задание из банки, созданной после создания проекта, могу ли я сделать это без каких-либо проблем?
Я пробовал читать только файл свойств:
URL location = myClass.class.getProtectionDomain().getCodeSource().getLocation();
String filePath = location.getPath().substring(1,location.getPath().length());
InputStream in = myClass.class.getResourceAsStream(filePath + "config.properties");
prop.load(in);
in.close();
System.out.println(prop.getProperty("file"));
Но это дает ошибку при попытке getProperty из файла свойств. Спасибо!