小編給大家分享一下java如何讀取文件路徑空格、"+"和中文的處理方法,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
站在用戶的角度思考問題,與客戶深入溝通,找到廬江網站設計與廬江網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:網站設計、成都網站建設、企業官網、英文網站、手機端網站、網站推廣、申請域名、虛擬空間、企業郵箱。業務覆蓋廬江地區。
有時候在java代碼中讀取文件,如果文件所在路徑包含空格、”+“號或者是中文的時候,由于這些特殊的字符會被進行編碼轉譯,所以就會報沒有發現文件的錯誤,那么遇到這種錯誤,我們就要把編碼過后的路徑進行解碼,這樣才能正確的找到文件。主要的解決方法有一下三種方法:
解決方法
1、替換法
比如文件路徑如果存在空格,那么會被轉譯成“%20”,那么就可以利用字符串替換,把“%20”傳化成空格,這樣就能正確的找到文件了。這是這種如此暴力,低級的處理方法,一般有經驗的開發人員都不會采用吧?
2、使用URLDecoder.decode(str,enc)進行解碼
如果空格、中文被轉譯過后,可以使用URLDecoder.decode方法進行解碼,但是這種方法對于路徑中包含“+”號并不能進行正確解碼,因為URLDecoder.decode方法內部如果發現是加號,將會將其轉成空格:
3、萬能方法,使用toURI().getPath()
toURI()會跟自己的規則對字符串進行編碼,然后又能自動解碼,所以不用自己去關心這些事情,可以自行看下它的源碼。
演示:
web項目部署在一個tomcat中,路徑為:”D:\Program Files\java\apache-tomcat-6.0.26”
1、字符串包含空格:
從截圖中可以看到,路徑存在的空格已經被轉成“%20”,如果不對這包含空格的路徑進行解碼,那么直接讀取文件是獲取不到的;如果使用了以上第二、第三種方法,則能正確獲取到文件。
2、路徑中包含“+”
從上圖可以看到,如果路徑中包含“+”號,那么第二種方法就失效了,但是第三種方法還是有效。所以平時使用最好是使用第三種方法比較好。
1.SpringMVC,Spring Web MVC是一種基于Java的實現了Web MVC設計模式的請求驅動類型的輕量級Web框架。2.Shiro,Apache Shiro是Java的一個安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優秀持久層框架。4.Dubbo,Dubbo是一個分布式服務框架。5.Maven,Maven是個項目管理和構建自動化工具。6.RabbitMQ,RabbitMQ是用Erlang實現的一個高并發高可靠AMQP消息隊列服務器。7.Ehcache,EhCache 是一個純Java的進程內緩存框架。
看完了這篇文章,相信你對“java如何讀取文件路徑空格、"+"和中文的處理方法”有了一定的了解,如果想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!
文章名稱:java如何讀取文件路徑空格、"+"和中文的處理方法
網頁鏈接:http://vcdvsql.cn/article14/gjdhge.html
成都網站建設公司_創新互聯,為您提供電子商務、移動網站建設、網站制作、網站導航、企業網站制作、營銷型網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯