在Java中有時獲取文件路徑,獲取的路徑中存在中文或者是空格的時候,路徑出現亂碼。這個問題困擾了我好久,用過各種的轉碼都無濟于事。在后來終于解決了,在這里和大家分享一下,其實也就是加一行代碼的問題。
我在項目的是使用
String path = this.getClass().getClassLoader().getResource("/").getPath().substring(1);
這樣來獲得當前類的文件路徑的。但是這樣得到的是亂碼。后來經過跟蹤 在this.getClass().getClassLoader()返回的url這里的路徑還是沒錯的。只是后面有問題。所以轉碼的話應該是要轉url.所以在后面添加了這樣一行代碼。
path = java.net.URLDecoder.decode(path, "utf-8");
這樣做獲得的路徑就沒問題了。
呵呵 此問題解決!
String path = this.getClass().getClassLoader().getResource("/").getPath().substring(1);path = java.net.URLDecoder.decode(path, "utf-8");
以上這篇完美解決Java獲取文件路徑出現亂碼的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答
圖片精選