2014-12-23 3 views
2

У меня есть структура папок, как:относительный путь не работает

myDir 
    resources 
    myConfig.cfg 

    in 
    infile.txt 

    myProgram.jar -->runnable jar file 

Я пытался использовать относительный путь ./in/infile.txt Я упоминаю эти относительные пути от myConfig.cfg.

В коде я использую, как,

Properties properties = new Properties(); 
properties.load(new FileInputStream("./resources/myConfig.cfg")); 

Что такое ошибка? То же самое было для другой банки и того же пути.

+0

вы получаете какие-либо исключения? – KostasC

+0

да. Как обычно FileNotFoundException. Я пробовал использовать разные относительные пути, например ./, .../.., ../и т. Д. Файл ./in/infile.txt отлично работает для другого процесса. – Harbinger

ответ

2

Попробуйте

properties.load(this.getClass().getResourceAsStream("/myConfig.cfg")); 

На самом деле при компиляции папки ресурсов не используется, но все файлы ресурсов перемещаются под «классы» реж

+0

Я хочу сохранить файлы конфигурации из банки .. так что я могу редактировать его, когда это необходимо. Как я могу это сделать? – Harbinger

+0

На самом деле, у меня есть проблема с доступом к infile.txt. Файл Config отлично читает. С помощью кода, который я использую, я могу редактировать его даже после компиляции и создания jar. (Поправьте меня, если вы используете конфигурационный файл, это плохая идея). – Harbinger

+0

это нормально использовать внешний файл, но для получения новых значений вам нужно либо перезапустить приложение, либо добавить вид обновления конфигураций – StanislavL

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