2016-12-26 29 views
2

プロパティファイルからいくつかのプロパティを読み込もうとしていますが、コードでプロパティファイルを読み込めません。プロパティファイルは私のマシンのあるフォルダにあります。ここでJavaでプロパティファイルがnullとして返されています

は私のコードです:

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フォルダに置くjarファイルを作成し、私のマシンでプロパティファイルを配置し、コード内の同じパスを与えています。私は絶対パスと絶対パスなしで試しました。

+1

IPは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は素晴らしい一日を過ごしました。 –

関連する問題