天天看點

【java】擷取解析資源檔案的方法

關于資源檔案的讀取,有很多種方法,下面補充了多種方法

使用java自帶的util包下的ResourceBundle類擷取,使用方法最簡單

注意點:①資源檔案直接放在項目的src下,也就是你項目的classpath下,編譯完放置的路徑在classes下

【java】擷取解析資源檔案的方法
【java】擷取解析資源檔案的方法

    ②注意     ResourceBundle bundle = ResourceBundle.getBundle("quest");這裡就填寫你資源檔案的名字,不用寫字尾

    ③注意    maven管理的項目下,就将配置檔案放置在resources檔案夾下,編譯後的位置就在classes檔案夾下

【java】擷取解析資源檔案的方法

----------------------------------------------------------------------------第二種方法-------------------------------------------------------------------------

2.第二種方法,java.util.Properties擷取資源對象

不會因為上面的getString或者getObjec擷取不存在的key的時候,會報錯的情況

【java】擷取解析資源檔案的方法
【java】擷取解析資源檔案的方法

結果:

【java】擷取解析資源檔案的方法

不會因為找不到key而報錯。

 -----------------------------------------------------------------------第三種方法----------------------------------------------------------------------------

3.使用Java自帶方式擷取檔案,差別與第二種方法使用spring工具類擷取檔案路徑、

首先,先看一下怎麼能拿到本項目中的資源檔案

【java】擷取解析資源檔案的方法

      資源檔案内容:

【java】擷取解析資源檔案的方法
【java】擷取解析資源檔案的方法

可以看到 ,使用上面的方法,可以擷取到如上的路徑,

target是項目編譯完之後的編譯檔案存放的地方,可以在上面的路徑下看到咱們想要的資源檔案。

【java】擷取解析資源檔案的方法

可以看到,項目編譯完後,編譯檔案存在的路徑是下面

【java】擷取解析資源檔案的方法

分别對應

【java】擷取解析資源檔案的方法

classes對應main資源包,test-classes對應test資源包

也就是說,通過上面的方法,就可以擷取到每一個子產品的跟路徑,

那這樣就僅使用java自帶的方法,擷取到項目中的資源檔案了。

 代碼如下:擷取資源檔案中存在的鍵

【java】擷取解析資源檔案的方法

代碼如下:擷取不存在的鍵

【java】擷取解析資源檔案的方法

 ---------------------------------------------------------------------------問題----------------------------------------------------------------------------------

【問題】

問題1:在解析資源檔案的過程中,

 java.util.MissingResourceException: Can't find bundle for base name quest, locale zh_CN 

【java】擷取解析資源檔案的方法

解決方法:

這是因為在本項目的目錄下并沒有找到本資源檔案,把資源檔案放到上面展示的位置即可。

-----------------------------------------------------------------------------分割----------------------------------------------------------------------

問題2:

報錯如下:

java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key 1.4

【java】擷取解析資源檔案的方法
【java】擷取解析資源檔案的方法
【java】擷取解析資源檔案的方法

不論是getString(鍵名)還是getObject(鍵名),如果找不到鍵名,都不會傳回Null,而是會報錯。

問題原因:

  找不到鍵名“1.4”.

【java】擷取解析資源檔案的方法

 或者,使用文章開頭的 第二種Properties方式。

------------------------------------------------------------------分割--------------------------------------------------------------------