Конфигурация приложения из файла
Интересует настройка конфигурации java приложения из внешнего файла, файл может лежать где угодно на компьютере пользователя, Вопрос в том ка его найти. Есть такой пример кода, но ему надо указать каталог примеренный. '
static void searchForConfigurationFile(String path, String fileName) {
boolean flag = false;
File f = new File(path);
//список файлов в текущей папке
String[] list = f.list();
//проверка на совпадение
for (String file : list) {
if (fileName.equals(file)) {
flag=true;
System.out.println(path + "\\" + file + " ");
//если найден, то выход
return;
}
if (!path.endsWith("\\")) {
path += "\\";
}
File tempfile = new File(path + file);
System.out.println(path + file);
if (!file.equals(".") && !file.equals("..")) { // !!!
//иначе проверяем, если это папка
if (tempfile.isDirectory()) {
//path += file;
//то рекурсивный вызов этой функции
searchForConfigurationFile(path + file, fileName);
if(flag) return;
}
}
}
}
Ответы (1 шт):
Автор решения: Anton Shchyrov
→ Ссылка
У этой задачи есть такие решения
Хранить файл с настройками в месте, которое для этого предназначено в конкретной ОС. Этот каталог можно получить функцией
System.getProperty("user.home")Спросить у пользователя где он желает хранить настройки.
Если конфигурационный файл предназначен только для чтения, то хранить его можно в каталоге программы. А путь к нему получить вызовом
URI uri = MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI(); String path = getParentRealPath(uri);