Получить путь к приложению - PullRequest
79 голосов
/ 20 октября 2008

Я недавно искал, как получить каталог приложения на Java. Я наконец нашел ответ, но мне понадобилось на удивление много времени, потому что поиск такого общего термина не прост. Я думаю, что было бы неплохо составить список того, как этого добиться на нескольких языках.

Не стесняйтесь повышать / понижать голос, если вам (не) нравится идея, и , пожалуйста, внесите , если вам это нравится.

Пояснение:

Существует четкое различие между каталогом , который содержит исполняемый файл , и текущим рабочим каталогом (предоставленным pwd в Unix). Первоначально я был заинтересован в первом, но не стесняйтесь публиковать методы для определения последнего (уточняя, какой из них вы имеете в виду).

Ответы [ 21 ]

0 голосов
/ 31 января 2012

Примечание для ответа «20 выше, касающееся только Mac OSX: если исполняемый файл JAR преобразуется в« приложение »через OSX JAR BUNDLER, то getClass (). GetProtectionDomain (). GetCodeSource (). GetLocation (); will НЕ возвращает текущий каталог приложения, но добавит внутреннюю структуру каталогов приложения к ответу .Эта внутренняя структура приложения является / theCurrentFolderWhereTheAppReside / Contents / Resources / Java / yourfile

Возможно, это небольшая ошибка в Java. В любом случае, нужно использовать метод один или два, чтобы получить правильный ответ, и оба будут давать правильный ответ, даже если приложение запущено, например. с помощью ярлыка, расположенного в другой папке или на рабочем столе.

деревенщина

SoundPimp.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...