1. 程式人生 > >【JAVA】關於java中 類.class.getResource("/").getPath()獲取路徑有空格的問題

【JAVA】關於java中 類.class.getResource("/").getPath()獲取路徑有空格的問題

() 獲取路徑 return url fig net java.net nbsp 相關信息

寫了一個web工程,在本地測試正確,但是部署到服務器上就出現錯誤。原因是讀取不到配置文件。

後來從打印出來的文件路徑中發現是用Java的class.getResource("/").getPath()獲取路徑的時候,路徑中的空格轉換成了%20。

在網上查詢相關信息,果然將空格轉成%20是一個古老的bug,我特意借此記錄一下,希望能幫到遇到同樣問題的朋友。

Bug ID: 4466485 getClass( ).getResource( ).getFile( ) returns file name with %20

此 bug 於 2001年6月被提出來,2002年11月最終關閉。
沒有修復的原因是這樣做會導致兼容性問題。

這裏給出一個解決方案:

configPath = java.net.URLDecoder.decode(configPath,"utf-8");

【JAVA】關於java中 類.class.getResource("/").getPath()獲取路徑有空格的問題