完美解決Java獲取文件路徑出現(xiàn)亂碼的問題
在Java中有時(shí)獲取文件路徑,獲取的路徑中存在中文或者是空格的時(shí)候,路徑出現(xiàn)亂碼。這個(gè)問題困擾了我好久,用過各種的轉(zhuǎn)碼都無濟(jì)于事。在后來終于解決了,在這里和大家分享一下,其實(shí)也就是加一行代碼的問題。
我在項(xiàng)目的是使用
String path = this.getClass().getClassLoader().getResource("/").getPath().substring(1);
這樣來獲得當(dāng)前類的文件路徑的。但是這樣得到的是亂碼。后來經(jīng)過跟蹤 在this.getClass().getClassLoader()返回的url這里的路徑還是沒錯(cuò)的。只是后面有問題。所以轉(zhuǎn)碼的話應(yīng)該是要轉(zhuǎn)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獲取文件路徑出現(xiàn)亂碼的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java顯示當(dāng)前運(yùn)行時(shí)的參數(shù)(java運(yùn)行參數(shù))
這篇文章主要介紹了java顯示當(dāng)前運(yùn)行時(shí)參數(shù)的示例(java運(yùn)行參數(shù)),需要的朋友可以參考下2014-04-04圖文詳解如何將java編寫的程序轉(zhuǎn)為exe文件
我們寫的程序,要讓小伙伴打開即用,可以將java程序生成可執(zhí)行文件,下面這篇文章主要給大家介紹了關(guān)于一步步教你如何將java編寫的程序轉(zhuǎn)為exe文件的相關(guān)資料,需要的朋友可以參考下2023-01-01詳解spring boot使用@Retryable來進(jìn)行重處理
本篇文章主要介紹了詳解spring boot使用@Retryable來進(jìn)行重處理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06Java中雙冒號(hào)(::)運(yùn)算操作符用法詳解
這篇文章主要給大家介紹了關(guān)于Java中雙冒號(hào)(::)運(yùn)算操作符用法的相關(guān)資料,雙冒號(hào)運(yùn)算操作符是類方法的句柄,lambda表達(dá)式的一種簡寫,這種簡寫的學(xué)名叫eta-conversion或者叫η-conversion,需要的朋友可以參考下2023-11-11Spring @Async無法實(shí)現(xiàn)異步的解決方案
這篇文章主要介紹了Spring @Async無法實(shí)現(xiàn)異步的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10java通過控制鼠標(biāo)實(shí)現(xiàn)屏幕廣播的方法
這篇文章主要介紹了java通過控制鼠標(biāo)實(shí)現(xiàn)屏幕廣播的方法,針對(duì)前面一篇Java屏幕共享功能進(jìn)行了改進(jìn),實(shí)現(xiàn)了鼠標(biāo)控制功能,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12SpringCloud的Gateway網(wǎng)關(guān)詳解
這篇文章主要介紹了SpringCloud的Gateway網(wǎng)關(guān)詳解,Gateway 是 Spring Cloud 官方推出的一個(gè)基于 Spring 5、Spring Boot 2 和 Project Reactor 的 API 網(wǎng)關(guān)實(shí)現(xiàn),本文將介紹 Spring Cloud Gateway 的基本概念、核心組件以及如何配置和使用它,需要的朋友可以參考下2023-09-09