2017-03-14 44 views
1

我想直接從我的Java項目的資源目錄加載一個屬性文件,並得到一個空指針異常。有人可以解釋如何做?如何從Java資源目錄加載文件

代碼 -

String resourceName = "config-values.properties"; 
Properties props = new Properties(); 
try(InputStream resourceStream = getClass().getClassLoader().getResourceAsStream(resourceName)) { 
      props.load(resourceStream); 
     } 

我的文件夾結構爲 -/SRC /包和/ SRC /資源/

+0

您是否使用maven生成項目框架,如果可以,您是否可以確認您的dir結構應該是src/main/java和src/main/resources。 否則,你可能只需要在getResourceAsStream中使用path作爲「resources/config-values.properties」 – jatanp

+0

結構應該是src/main/resources – imprezzeb

+0

結構不是src/main/resources就是src/resources @jatanp你是什麼意思是「需要使用路徑作爲資源/ config-values.properties」? – AP01

回答

2

以下代碼希望您嘗試訪問的資源存在於您的類路徑中。

getClassLoader().getResourceAsStream(resourceName)) 

假設你的文件的src /資源存在:你可以在你的classpath中添加的src /資源/。我不知道你用哪個IDE,但這裏有一些方法來添加在類路徑的目錄:

0
InputStream resourceStream = 
getClass().getResourceAsStream("/package/folder/foo.properties"); 

嘗試上面的代碼。

希望這會有所幫助。