2016-12-26 7 views
2

Я пытаюсь прочитать некоторое свойство из файла свойств, но мой код не читает файл свойства. Файл свойств находится в некоторой папке на моей машине.Файл свойства возвращается как null в Java

Вот мой код:

public String getproperty(){ 

    String extension=""; 
    Properties prop = new Properties(); 
    String propname = "\\"+Any location in your machine+"\\fileExtension.properties"; 
    Logger.debug("ReadFiles", " ----Property file path---- "+ propname, null); 
    ip = getClass().getClassLoader().getResourceAsStream(propname); 
    Logger.debug("ReadFiles", " ----ip value ---- "+ip, null); 
     try { 
      if(ip != null){ 
       prop.load(ip); 
       Logger.debug("ReadFiles", " ----Property file loaded---- ", null); 
      } 

      extension = prop.getProperty("fileExt"); 
      Logger.debug("ReadFiles", " ----Property = " + extension, null); 

     } catch (IOException e) { 
      Logger.error("ReadFiles", " ----Error while loading property file---- ", null); 
      e.printStackTrace(); 
     } 
     finally{ 
      try { 
       ip.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
     return extension; 
} 

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

+1

ф является java.io.InputStream. –

ответ

1

Пожалуйста, попробуйте этот пример, который использует абсолютный путь к файлу свойств.

package com.company; 

import java.io.*; 
import java.util.Properties; 

public class Main { 

    public static void main(String[] args) { 

     Properties prop = new Properties(); 
     InputStream input = null; 

     try { 
      input = new FileInputStream("/home/dac/gs-rest-service/javacode/src/main/java/com/company/config.properties"); 
      prop.load(input); 
      String extension = prop.getProperty("fileExt"); 
      System.out.println("ReadFiles ----Property = " + extension); 

     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } finally { 
      if (input != null) { 
       try { 
        input.close(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
     } 

    } 

} 

Тест

cat /home/dac/gs-rest-service/javacode/src/main/java/com/company/config.properties 
#Mon Dec 26 17:31:30 CET 2016 
dbpassword=password 
database=localhost 
dbuser=foobar 
fileExt=.xml⏎  

Запустите программу

ReadFiles ----Property = .xml   
+1

спасибо Dac. Mery X-mas и Happy New Year, у нас отличный день. –

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