關于資源檔案的讀取,有很多種方法,下面補充了多種方法
使用java自帶的util包下的ResourceBundle類擷取,使用方法最簡單
注意點:①資源檔案直接放在項目的src下,也就是你項目的classpath下,編譯完放置的路徑在classes下

②注意 ResourceBundle bundle = ResourceBundle.getBundle("quest");這裡就填寫你資源檔案的名字,不用寫字尾
③注意 maven管理的項目下,就将配置檔案放置在resources檔案夾下,編譯後的位置就在classes檔案夾下
----------------------------------------------------------------------------第二種方法-------------------------------------------------------------------------
2.第二種方法,java.util.Properties擷取資源對象
不會因為上面的getString或者getObjec擷取不存在的key的時候,會報錯的情況
結果:
不會因為找不到key而報錯。
-----------------------------------------------------------------------第三種方法----------------------------------------------------------------------------
3.使用Java自帶方式擷取檔案,差別與第二種方法使用spring工具類擷取檔案路徑、
首先,先看一下怎麼能拿到本項目中的資源檔案
資源檔案内容:
可以看到 ,使用上面的方法,可以擷取到如上的路徑,
target是項目編譯完之後的編譯檔案存放的地方,可以在上面的路徑下看到咱們想要的資源檔案。
可以看到,項目編譯完後,編譯檔案存在的路徑是下面
分别對應
classes對應main資源包,test-classes對應test資源包
也就是說,通過上面的方法,就可以擷取到每一個子產品的跟路徑,
那這樣就僅使用java自帶的方法,擷取到項目中的資源檔案了。
代碼如下:擷取資源檔案中存在的鍵
代碼如下:擷取不存在的鍵
---------------------------------------------------------------------------問題----------------------------------------------------------------------------------
【問題】
問題1:在解析資源檔案的過程中,
java.util.MissingResourceException: Can't find bundle for base name quest, locale zh_CN
解決方法:
這是因為在本項目的目錄下并沒有找到本資源檔案,把資源檔案放到上面展示的位置即可。
-----------------------------------------------------------------------------分割----------------------------------------------------------------------
問題2:
報錯如下:
java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key 1.4
不論是getString(鍵名)還是getObject(鍵名),如果找不到鍵名,都不會傳回Null,而是會報錯。
問題原因:
找不到鍵名“1.4”.
或者,使用文章開頭的 第二種Properties方式。
------------------------------------------------------------------分割--------------------------------------------------------------------