系統找不到指定的路徑,getResource 中文或有空格路徑處理,
阿新 • • 發佈:2021-02-11
問題描述
準備通過 getClassLoader().getResource()
來獲得檔案的路徑,但是出現以下報錯資訊:
報錯資訊
我的程式碼
URL resource = GetPathTest.class.getClassLoader().getResource("uploadTest.png");
FileInputStream file = new FileInputStream(resource.getPath());
問題解決
路徑中的中文或有空格路徑處理,會用編碼為 a3%20%e9%a1%b9% 等字元
所以
我們使用之前要對其進行 解碼:
URL resource = GetPathTest.class.getClassLoader().getResource("uploadTest.png");
String filePath = java.net.URLDecoder.decode(resource.getPath(),"utf-8");
FileInputStream file = new FileInputStream(filePath);