Файл конфигурации Java не относится к каталогу - PullRequest
0 голосов
/ 16 августа 2011

Я использую файл конфигурации (.ini) с моим Java-приложением.В данный момент я специально называю местоположение dll следующим образом.

Properties p = new Properties();
p.load(new FileInputStream("C:\\myconfigfile.ini");

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

Есть ли способ реализовать это или это просто лучшая практика?

Ответы [ 4 ]

2 голосов
/ 16 августа 2011

Поместите его в CLASSPATH и загрузите ресурс как поток, используя загрузчик классов.Это всегда будет работать, даже для веб-приложений в файлах WAR или JAR.

1 голос
/ 16 августа 2011

Посмотрите на Конфигурация Apache Commons .Это решает много проблем вокруг файлов конфигурации.Он также поддерживает индивидуальные настройки для каждого пользователя, что очень важно для разработки в команде.

1 голос
/ 16 августа 2011

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

1 голос
/ 16 августа 2011

создайте ini-папку в вашем корневом каталоге и поместите ее туда. Затем, когда вы запускаете программу, все зависит от того, откуда вы начинаете.

Properties p = new Properties();
p.load(new FileInputStream(".\\ini\\myconfigfile.ini");
...