Определяем папку в которой находится исполняемый файл приложения (Java SE)

Определение папки, в которую установлено приложение может потребоваться во многих случаях. Например, при работе модуля обновления программы и загрузки данных из вспомогательных файлов.

Java поддерживает работу с так называемым «окружением». Поэтому получить путь к папке, в которой расположен исполняемый файл (jar) приложения не составляет труда. Для этого нужно всего лишь обратиться к свойству user.dir.

Сделать это можно при помощи метода getProperty класса System, передав в него строку с именем свойства. Значение свойства будет возвращено в виде строки, содержащей полный путь к папке в которой находится исполняемый файл.

Ниже приведён скриншот программы, которая демонстрирует это в действии.

Надпись в окне программы отображает полный путь к той папке, в которой расположен собранный jar файл.

Однако есть один нюанс.

При запуске приложения из IDE (той же NetBeans) значение свойства user.dir содержит не путь к папке с jar файлом, а путь к корневой папке с исходным кодом проекта. Это связано с тем, что по крайней мере в наиболее популярных IDE при компиляции по умолчанию упаковки в jar файл не происходит. Сборка в jar выполняется только по специальной команде (в NetBeans: «Выполнить» — «Собрать проект» (или «Очистить и собрать проект») или аналогичные команды в контекстном меню проекта).

Это следует обязательно учитывать в процессе разработки и тестирования программы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *