Файл собственности в Java - PullRequest
2 голосов
/ 30 июня 2009

Я хочу прочитать файл свойств в своем классе Java.

для этого я написал:

try {
            Properties property = new Properties();
            property .load(new FileInputStream("abc.properties"));
            String string = property.getProperty("userName");
        } catch (Exception e) {
            e.printStackTrace();
        }

Я поместил свой файл abc.properties в тот же пакет, где находится мой класс java. Но я получаю исключение FileNotFound.

Пожалуйста, дайте мне знать, как указать путь к файлу свойств.

Спасибо и всего наилучшего

Ответы [ 4 ]

6 голосов
/ 30 июня 2009

FileInputStream будет искать файл в «рабочем каталоге» вашей программы, а не в том же пакете, что и ваш класс.

Вам нужно использовать getClass (). GetResourceAsStream ("abc.properties"), чтобы загрузить файл свойств из того же пакета.

1 голос
/ 30 июня 2009

Вам лучше использовать ClassLoader.getResourceAsStream. Смотрите эту статью .

1 голос
/ 30 июня 2009

Если файлы свойств находятся рядом с вашим файлом класса, вы не должны использовать FileInputStream, но Class.getResourceAsStream.

 property.load(getClass().getResourceAsStream("abc.properties"));

Это будет работать даже тогда, когда вы упаковываете все как файл jar.

0 голосов
/ 09 октября 2015

скажем, ваш класс - TestClass, тогда ваш код должен измениться на

InputStream input = TestClass.class.getResourceAsStream("abc.properties");
property.load(input);
...