天天看點

Java實作動态加載讀取properties檔案

問題: 當我們使用如下語句加載.properties時:

  

會發現修改了.properties後,即使重新執行,讀入的仍為修改前的參數。此問題的原因在于ClassLoader.getResourceAsStream讀入後,會将.properties儲存在緩存中,重新執行時會從緩存中讀取,而不是再次讀取.properties檔案。

解決:

此時,FileInputStream不會将.properties儲存在緩存中,即可以解決此問題。但另外讓人困惑的 一個問題會産生,即絕對路徑,會導緻程式的通用性不好。這個問題是由于ClassLoader.getResourceAsStream是直接尋找 classes下的檔案,FileInputStream則需要用完整的絕對路徑。

完美解決:

此時已無需給出.properties絕對路徑,實作動态加載。

上一篇: MD5值

繼續閱讀