Получить имя запущенного файла в Java? - PullRequest
7 голосов
/ 12 января 2012

Возможно ли получить имя файла, который выполняется. Как например Если я запускаю файл Jar, и внутри я хочу добавить функциональность кода, которая может определять имя файла, чтобы, если этот jar-файл был переименован, код мог его обнаружить.

Есть ли возможность сделать это без сканирования файлов в текущем каталоге?

Ответы [ 2 ]

5 голосов
/ 12 января 2012

Попробуйте это:

String path = Test.class.getProtectionDomain().getCodeSource().getLocation().getPath();
String decodedPath = URLDecoder.decode(path, "UTF-8");

http://www.rgagnon.com/javadetails/java-0300.html

http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getProtectionDomain()

http://docs.oracle.com/javase/7/docs/api/java/security/ProtectionDomain.html

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

вы можете проверить, имеет ли System.getEnv () какое-либо значение, указывающее, какой файл был вызван

...