2014-02-13 3 views
1

У меня есть компонент, который должен взять некоторые параметры из файла свойств, но я не могу его найти (java.lang.NullPointerException), чтобы его открыть. Мой bean-компонент находится в пакете extra.beans, а файл свойств находится в пакете extra.dao. Я пытаюсь сделатьКак открыть файл свойств из другого пакета на Netbeans (JAVA)

file = new FileInputStream("database.properties"); 
prop.load(file); 

и я пробовал любую возможную комбинацию для пути, но я не могу найти его. Я использую Netbeans 7.4. Как я могу открыть его?

ответ

6

Вы можете использовать Resource Bundle для этого.

ResourceBundle resBundle = ResourceBundle.getBundle("PropertyFileName"); // without extention 
String name= resBundle.getString("Required Attribute"); // example username 
0

Укажите полный путь. Он должен работать.

1

Если вы загружаете файл свойств в Properties объект, попробуйте что-то вроде:

Properties properties = new Properties(); 
properties.load(getClass().getResourceAsStream("../dao/database.properties")); 

Я не знаю вашу полную структуру пакета, но используя этот подход и поставить полный путь к свойствам файл также будет работать, а именно: /extra/dao/database.properties

0
file = getClass().getClassLoader().getResourceAsStream("extra/dao/database.properties") ; 
prop.load(file); 
0
Properties properties = null; 
try { 
    properties = new Properties(); 
    InputStream resourceAsStream = YourClass.class.getResourceAsStream("/extra/dao/database.properties"); 
    if (resourceAsStream != null) { 
     properties.load(resourceAsStream); 
    } 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
Смежные вопросы