2013-11-15 2 views
0

У меня есть исполняемый файл jar, который считывает свойства из файла свойств. Я сделал работу программы таким образом, чтобы файл свойства должно быть в пути, где я выполняющий банку [нет в каталоге, где находится сосуд.] я делаю что-то, как это сейчас:Чтение файла свойств из jar location

Properties prop = new Properties(); 
    try { 
     InputStream stream = new FileInputStream("./sample.properties"); 
      if (stream != null) { 
       prop.load(stream); 
        } 
     } 

Кажется, это работает правильно. Я не знаю, что делать, если я хочу прочитать файл из каталога, в котором существует банка. Может ли кто-нибудь мне помочь? Я попытался удалить «/», но stil не работает

ответ

0

Местоположение файла JAR, содержащего класс X, задается X.class.getProtectionDomain(). GetCodeSource(). GetLocation().

+0

Он дает объект типа url, в котором я могу вызывать методы, gethost, getpath, но они дают полный путь jar, а не путь, в котором присутствует банка. – parameswar

+0

Согласен. Вам нужно будет выяснить, как удалить последний бит пути. Это не сложно. В JDK есть несколько методов. – EJP

Смежные вопросы