2015-03-05 7 views
0

enter image description hereКаков относительный путь для файла application.properies ниже?

application.properties необходимо загрузить в файл LoadProperties.java.

общественные статические свойства loadProperties() {

Properties props = new Properties(); 
    try{ 
     FileInputStream fis = new FileInputStream("application.properties"); 
     props.load(fis);  
     fis.close(); 
    }catch(IOException ioe){ 
     ioe.printStackTrace(); 
    } 
    return props; 
} 

Приведенный выше код отлично работает в обычном проекте Java, но когда я добавляю это в динамичном пути веб-проекта не признается, потому что структура папок отличается

Я попытался разными способами и получил java.io.FileNotFoundException: application.properties (система не может найти указанный файл) ошибка

Любая помощь будет оценена!

+0

Вы можете поделиться этим кодом, пожалуйста? – muasif80

+0

public static Свойства loadProperties() { \t Свойства props = new Properties(); try { \t FileInputStream fis = new FileInputStream ("application.properties"); \t props.load (fis); \t fis.close(); } catch (IOException ioe) { \t ioe.printStackTrace(); } возврат опоры; } – user3634904

+0

Вы пытались поставить предыдущую косую черту как "/application.properties"? – muasif80

ответ

0

Вы можете попробовать что-то вроде этого:

Properties props = new Properties(); 

//with properties in the root dir 
props.load(getClass().getResourceAsStream("/application.properties")); 
+0

Что импортировать для использования getClass(). GetResourceAsStream(); потому что он показывает красный знак там – user3634904

+0

Нужно ли нам импортировать любую банку? – user3634904

+0

Я пробовал props.load (LoadProperties.class.getResourceAsStream ("/ application.properties")); но такой же вопрос. – user3634904

0

Использование загрузчика классов:

ClassLoader classLoader = getClass().getClassLoader(); 
File file = new File(classLoader.getResource("your.properties").getFile()); 

Использование загрузчика классов с потоком:

ClassLoader classLoader = getClass().getClassLoader(); 
InputStream in = classLoader.getResourceAsStream("your.properties"); 

Использование ResourceBundle:

ResourceBundle labels = ResourceBundle.getBundle("your.properties", locale); 
System.out.println(labels.getString("label1")); 
0

Если я добавляю файлы при установке eclipse и даю путь, как показано ниже, он отлично работает для меня.

FileInputStream fis = new FileInputStream ("application.properties");

enter image description here

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