日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA——获取classpath文件路径空格转变成了转义字符(%20)的问题解决方案

發(fā)布時間:2024/10/5 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA——获取classpath文件路径空格转变成了转义字符(%20)的问题解决方案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

基本概念

URL(Uniform Resource Locator,統(tǒng)一資源定位符):WWW的統(tǒng)一資源定位標(biāo)志,即網(wǎng)絡(luò)地址。

URI((Uniform Resource Identifier,統(tǒng)一資源標(biāo)志符):表示的是web上每一種可用的資源,如 HTML文檔、圖像、視頻片段、程序等都由一個URI進行定位的。

URL與URI區(qū)別:?https://blog.csdn.net/qq_32595453/article/details/80563142

問題描述

String path = getClass().getResource("/").getPath();

String path = getClass().getClassLoader.getResource("").getPath(); ?

如果當(dāng)前路徑中包含了空格,則返回的路徑字符串空格則被轉(zhuǎn)義為(%20)?

問題分析

URL對空格,特殊字符(%,#,[]等)和中文進行了編碼處理。?

在中文編碼環(huán)境下,空格會變成“%20”從而使得路徑錯誤.

解決方案

方法一

使用repaceAll("%20",' ')替換

針對性解決方案,不通用所有情況,例如:路徑中包含%和中文。

方法二

String path = getClass().getResource("/").toURI().getPath();

String path = getClass().getClassLoader.getResource("").toURI().getPath();?

需要處理URISyntaxException異常?

方法三

String path = Parameter.class.getResource("").getPath();//得到路徑 path = URLDecoder.decode(path,"utf-8");//關(guān)鍵啊 !

只能解決一部分,若路徑中含有+,也是不能解決的

原因:URL并不是完全用URLEncoder.encode(str,"UTF-8")編碼的,+號被解碼后,卻變成了空格。?

參考文章

https://www.cnblogs.com/runerering/p/6042828.html

https://www.cnblogs.com/vincentDr/p/4526856.html

https://blog.csdn.net/hikvision_java_gyh/article/details/44655447

總結(jié)

以上是生活随笔為你收集整理的JAVA——获取classpath文件路径空格转变成了转义字符(%20)的问题解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。