Доступ к файлу рядом с файлом JAR - PullRequest
1 голос
/ 08 ноября 2011

Как я могу получить доступ к файлу, смежному с файлом jar (не внутри него), самым чистым способом?

Я пробовал различные комбинации, такие как File configFile = new File("..//pinger.properties"); и Pinger.class.getResourceAsStream("pinger.properties");, но файл не читается.

Спасибо!

Ответы [ 3 ]

0 голосов
/ 08 ноября 2011

Как получить доступ к файлу, смежному с файлом jar (не внутри него), самым чистым способом?

Добавить файл манифеста, который ссылается на зависимый Jar, используя относительный путь 1 .Затем используйте getResource(String), чтобы получить URL для ресурса.

  1. Подробнее см. Добавление классов в путь к файлу JAR .
0 голосов
/ 21 августа 2012

Получить местоположение вашего файла фляги

Рассмотрим следующую функцию

public String path(String filename)
{
URL url1 = getClass().getResource("");
String ur=url1.toString();
ur=ur.substring(9);
String truepath[]=ur.split("myjar.jar!");
truepath[0]=truepath[0].replaceAll("%20"," ");
return truepath[0]+filename;
}//This method will work on Windows and Linux as well.
//You can alternatively use the following line to get the path of your jar file
//classname.class.getProtectionDomain().getCodeSource().getLocation().getPath();

Предположим, что ваш файл JAR находится в D: \ Test \ dist

Тогда path () вернет / D: / Test / dist / filename

0 голосов
/ 08 ноября 2011

Вы можете попробовать использовать java.util.Properties class.

   Properties properties = new Properties();
   properties.load(getClass().getClassLoader().getResourceAsStream("pinger.properties"));

Другой образец здесь .

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