【JAVA】關於java中 類.class.getResource("/").getPath()獲取路徑有空格的問題
寫了一個web工程,在本地測試正確,但是部署到服務器上就出現錯誤。原因是讀取不到配置文件。
後來從打印出來的文件路徑中發現是用Java的class.getResource("/").getPath()獲取路徑的時候,路徑中的空格轉換成了%20。
在網上查詢相關信息,果然將空格轉成%20是一個古老的bug,我特意借此記錄一下,希望能幫到遇到同樣問題的朋友。
Bug ID: 4466485 getClass( ).getResource( ).getFile( ) returns file name with %20
此 bug 於 2001年6月被提出來,2002年11月最終關閉。
沒有修復的原因是這樣做會導致兼容性問題。
這裏給出一個解決方案:
configPath = java.net.URLDecoder.decode(configPath,"utf-8");
【JAVA】關於java中 類.class.getResource("/").getPath()獲取路徑有空格的問題
相關推薦
【JAVA】關於java中 類.class.getResource("/").getPath()獲取路徑有空格的問題
() 獲取路徑 return url fig net java.net nbsp 相關信息 寫了一個web工程,在本地測試正確,但是部署到服務器上就出現錯誤。原因是讀取不到配置文件。 後來從打印出來的文件路徑中發現是用Java的class.getResource("/").
【python】詳解類class的屬性:類資料屬性、例項資料屬性、特殊的類屬性、屬性隱藏(二)
自上一篇python中的類,物件,方法,屬性初認識(一)認識了類的基本架構,下面繼續對類進行詳解,更加深入瞭解類的屬性、方法、訪問控制這三個方面的類容。 緊接上一篇類的例項: 一、資料屬性 1、在上面的person類中,“tall”、“name”、"age"和"weight "都被稱為類的資料屬性,
【python】詳解類class的繼承、__init__初始化、super方法(五)
通過之前四篇的介紹: 【python】python中的類,物件,方法,屬性初認識(一)詳見連結 【python】詳解類class的屬性:類資料屬性、例項資料屬性、特殊的類屬性、屬性隱藏(二)詳見連結 【python】詳解類class的方法:例項方法、類方法、
【解惑】JDBC中使用Class.forName("xxx")的意義
Class.forName方法介紹 在java.lang.Class中,有兩個過載的forName方法,分別是: static Class<?>(String className),該方法等價於Class.forName(className, true,
【Java】Java中的數據類型
target java 基本數據類型 item ref cnblogs com 技術分享 aik Java 語言是一種強類型語言。通俗點說就是,在 Java 中存儲的數據都是有類型的,而且必須在編譯時就確定其類型。Java 數據類型分為兩類,如圖: 在 Jav
【詳細】JAVA中介面和抽象類的區別
介面是常用的,在這裡都不舉例程式碼了 抽象類 介面 實現方式 實現方式 介面完全是抽象的。它根本不存在方法的實現 介面完全是抽象的。它根本不存在方法的實現 構造器 構造器 抽
【小家java】java中維護常量使用常量類?介面?還是列舉呢?
相關閱讀 每篇一句 只要學不死,就往死裡學。我們離過勞死都還遠著呢 1、概述 在編碼過程中,避免不了維護一些常量。而通過這麼多的專案中發現,使用方式都不盡相同。有用常量類的、有用介面的、有用列舉的,因此本文針對於常量的管理做一些討論 2、栗子 第一種使用
1000行代碼徒手寫正則表達式引擎【1】--JAVA中正則表達式的使用
基礎上 unicode 要求 [1] 分配 find 通過 images char 簡介: 本文是系列博客的第一篇,主要講解和分析正則表達式規則以及JAVA中原生正則表達式引擎的使用。在後續的文章中會涉及基於NFA的正則表達式引擎內部的工作原理,並在此基礎上用1000行左右
【異常】java.lang.IllegalArgumentException: Cannot locate declared field class org.apache.http.impl.client.HttpClientBuilder.dnsResolver 的解決方案
pcl group lan cnblogs cat resolv artifact exceptio 網頁 起因:使用htmlunit爬取外部網頁的時候遇到這個異常:java.lang.IllegalArgumentException: Cannot locate decl
【轉載】Java中Comparable和Comparator比較
import 比較器 todo itl 復制代碼 ack div array open 【本文轉自】http://www.cnblogs.com/skywang12345/p/3324788.html Comparable 簡介 Comparable 是排序接口。 若一
【Java】修改jar包class文件小記
加密 返回 .cn 代碼 要求 ges 命令 文件 定位 今天被瑤瑤要求幫忙了 他現在用的軟件裏有一個bug,因為是外國的開發者,所以要求修改是很麻煩的事。要改的東西很簡單,就是將一個函數裏錯誤的返回值修改。 拿到手的有軟件直接能運行的jar包。 一開始的想法比較簡單,就想
【轉】Java壓縮和解壓文件工具類ZipUtil
span time 其他 unzip empty del pat 列表 bis 特別提示:本人博客部分有參考網絡其他博客,但均是本人親手編寫過並驗證通過。如發現博客有錯誤,請及時提出以免誤導其他人,謝謝!歡迎轉載,但記得標明文章出處:http://www.cnblogs.
【java】java反射初探 ——“當類也照起鏡子”
urn win att ofo das 函數 完整 exce ttr 反射的作用 開門見山地說說反射的作用 1.為我們提供了全面的分析類信息的能力 2.動態加載類 我理解的“反射”的意義 (僅個人理解哈) 我理解的
【java】數據類型
相互 需要 long 3.2 方式 強制 boolean als src 邏輯型boolean: boolean類型數據只能取值True或False,不可以0或者非0替代True或False,這點與c語言不同。 字符型char: 一個char類型的字符占兩個字節。表示方式
【轉載】JAVA中IO流操作的基本規律總結
reader 對象 作文 若是 gpo 是否 目的 io流 基本 流操作的基本規律:三個明確 1.明確源和目的; 源:輸入流即讀取流 InputStream,Reader 目的:輸出流即寫入流 OutputStream, Writer 2.明確操作的數據是
【java】java 中 byte[]、File、InputStream 互相轉換
new 文件名 讀寫 文件 tps byte數組 lan http 過程 ========================================================================= 使用過程中,一定要註意close()掉各個讀寫流!!
【Java】Swing中JTextPane中如何繪制行號
代碼 name panel 9.png 自己 顯示行號 led att gin Oracle在JTextPane類中並沒有直接提供顯示行號的方法,所以這個功能應該由程序員自己來完成,筆者發現網上很多的顯示行號的代碼都存在一個問題,就是不準確,特別是在行數變多了以後。 筆者
【小家java】Java中對時間戳相加減的問題(向前推100天,答案卻讓我匪夷所思)
相關閱讀 【小家java】java5新特性(簡述十大新特性) 重要一躍 【小家java】java6新特性(簡述十大新特性) 雞肋升級 【小家java】java7新特性(簡述八大新特性) 不溫不火 【小家java】java8新特性(簡述十大新特性) 飽受讚譽 【小家java】java9
【轉】java中堆的排序
Java實現堆排序(大根堆) 堆排序是一種樹形選擇排序方法,它的特點是:在排序的過程中,將array[0,...,n-1]看成是一顆完全二叉樹的順序儲存結構,利用完全二叉樹中雙親節點和孩子結點之間的內在關係,在當前無序區中選擇關鍵字最大(最小)的元素。 1. 若array[0,...,n
【正文】Java類載入器( CLassLoader ) 死磕 4: 神祕的雙親委託機制
【正文】Java類載入器( CLassLoader ) 死磕4: 神祕的雙親委託機制 本小節目錄 4.1. 每個類載入器都有一個parent父載入器 4.2. 類載入器之間的層次關係 4.3. 類的載入次序 4.4 雙親委託機制原理與沙箱機制 4.5. forName方法和load