Относительный путь для файла свойств - PullRequest
4 голосов
/ 11 мая 2011

Я использую файл свойств:

try 
{
    properties.load(new FileInputStream("filename.properties"));
} 
catch (IOException e) 
{
}

Где мне разместить filename.properties?Я не хочу указывать абсолютный путь, так как этот код должен работать на разных платформах.Я пытался поместить его в тот же каталог, что и класс de, но он не работает.(Извините, если это глупый вопрос)

Может быть, я смогу найти путь, где текущий класс каким-то образом помещен?

Ответы [ 2 ]

4 голосов
/ 11 мая 2011

убедитесь, что ваш файл свойств доступен для вашего скомпилированного (.class) файла, и получите его следующим образом

getClass().getResource("filename.properties") // you get an URL, then openStream it

или

getClass().getResourceAsStream("filename.properties") // you get an InputStream

Пример:

import java.net.URL;
public class SampleLoad {
    public static void main(String[] args) {
        final URL resource = SampleLoad.class.getResource("SampleLoad.class");
        System.out.println(resource);
    }
}

этот main извлекает свою собственную скомпилированную версию во время выполнения:

файл: / C: / _ projects / toolbox / target / classes / org / game / toolbox / SampleLoad.class

0 голосов
/ 11 мая 2011

Вы можете использовать: String userDir = System.getProperty ("user.dir");

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