2016-11-07 2 views
1

Моя структура папок следующим образом:Файл config.properties не читается в Java

>test 
    >src 
     >org.mypackage 
       >myclass 
    >resources 
     >config.properties 

Класс Java выглядит следующим образом:

import java.io.IOException; 
import java.io.InputStream; 
import java.util.Properties;  

public myclass { 

    private String path = "config.properties"; 

    public myclass() { 
     Properties prop = new Properties(); 
     InputStream input = null; 
     try { 
      input = getClass().getClassLoader().getResourceAsStream(path); 
      prop.load(input) 
     } 
     catch(Exception ex) { 
      ex.printStackTrace(); 
     } 
    } 
} 

Но я null в качестве значения для input во время отладки.

В режиме отладки я проверил значение для getClass(), я получаю значение класса, значение также доступно для getClass().getClassLoader() но getClass().getClassLoader().getResourceAsStream(path) это null.

Я не уверен, в чем проблема.

Спасибо за помощь!

+1

does '' /config.properties "' работает? – nandsito

+0

Нет, это тоже не работает. – Josephine

+0

Вы используете определенную IDE и настройку проекта, например intellij, eclipse, maven? – nandsito

ответ

1

Кажется, что resources не является исходной папки в проекте Eclipse. Попробуйте установить resources в качестве исходной папки:

Right click > Build Path > Use as Source Folder 
+0

Да, вы правы. Я не настроил его как исходную папку. Спасибо!!! – Josephine

0

Вы должны проверить этот вопрос прямо здесь, которые должны помочь вам в ответе на вашу проблему: How to add a Java Properties file to my Java Project in Eclipse

Кроме того, мне кажется, что ваш проект не 100% Maven требований. У вас должно быть что-то большее:

>src 
    >main 
     >java 
     >resources 
    >test 
     >java 
     >resources 

Затем Eclipse должен быть потерян при обращении и погрузке ваших объектов.

Если у вас есть какие-либо вопросы, не стесняйтесь сообщение мне

+0

Я не вижу упоминания о Maven в вопросе. – VGR

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