- Регистрация
- 9 Май 2015
- Сообщения
- 1,071
- Баллы
- 155
- Возраст
- 51
Определение папки, в которую установлено приложение может потребоваться во многих случаях. Например, при работе модуля обновления программы и загрузки данных из вспомогательных файлов.
Java поддерживает работу с так называемым «окружением». Поэтому получить путь к папке, в которой расположен исполняемый файл (jar) приложения не составляет труда. Для этого нужно всего лишь обратиться к свойству user.dir.
Сделать это можно при помощи метода getProperty класса System, передав в него строку с именем свойства. Значение свойства будет возвращено в виде строки, содержащей полный путь к папке в которой находится исполняемый файл.
String path = System.getProperty("user.dir");
Ниже приведён скриншот программы, которая демонстрирует это в действии.
Надпись в окне программы отображает полный путь к той папке, в которой расположен собранный jar файл.
Однако есть один нюанс.
При запуске приложения из IDE (той же NetBeans) значение свойства user.dir содержит не путь к папке с jar файлом, а путь к корневой папке с исходным кодом проекта. Это связано с тем, что по крайней мере в наиболее популярных IDE при компиляции по умолчанию упаковки в jar файл не происходит. Сборка в jar выполняется только по специальной команде (в NetBeans: «Выполнить» — «Собрать проект» (или «Очистить и собрать проект») или аналогичные команды в контекстном меню проекта).
Это следует обязательно учитывать в процессе разработки и тестирования программы.
Java поддерживает работу с так называемым «окружением». Поэтому получить путь к папке, в которой расположен исполняемый файл (jar) приложения не составляет труда. Для этого нужно всего лишь обратиться к свойству user.dir.
Сделать это можно при помощи метода getProperty класса System, передав в него строку с именем свойства. Значение свойства будет возвращено в виде строки, содержащей полный путь к папке в которой находится исполняемый файл.
String path = System.getProperty("user.dir");
Ниже приведён скриншот программы, которая демонстрирует это в действии.
Надпись в окне программы отображает полный путь к той папке, в которой расположен собранный jar файл.
Однако есть один нюанс.
При запуске приложения из IDE (той же NetBeans) значение свойства user.dir содержит не путь к папке с jar файлом, а путь к корневой папке с исходным кодом проекта. Это связано с тем, что по крайней мере в наиболее популярных IDE при компиляции по умолчанию упаковки в jar файл не происходит. Сборка в jar выполняется только по специальной команде (в NetBeans: «Выполнить» — «Собрать проект» (или «Очистить и собрать проект») или аналогичные команды в контекстном меню проекта).
Это следует обязательно учитывать в процессе разработки и тестирования программы.