2011-05-05 57 views
0

中時無法生成有效的URL我在Java中遇到了一個非常奇怪的錯誤。它包含構建URL時他們有空間。舉例來說,此鏈接: camping at clark當空間被包含在

和這個代碼示例代碼段,抄錄錯誤:

String urlEncoded2 = "http%3A//www.sas.usace.army.mil/lakes/thurmond/images/camping+at+clark+2.jpg";

BufferedImage test = ImageIO.read(new URL(URLDecoder.decode(urlEncoded2, "UTF-8")));` 

正如你所看到的URL字符串傳遞,是UTF-8編碼。但是,無論我如何傳遞它,此代碼總是失敗。在我的應用程序中,我需要能夠讀取任何圖像URL通過沒有排除。

非常感謝您的幫助!

回答

2
"http%3A//www.sas.usace.army.mil/lakes/thurmond/images/camping+at+clark+2.jpg" 

這不是一個有效的URL。

"http://www.sas.usace.army.mil/lakes/thurmond/images/camping at clark 2.jpg" 

這不是一個有效的URL。

問題是,第一個值只是垃圾。無論什麼編碼值都沒有正確執行,這應該從源頭上解決。

正確的URL是:

"http://www.sas.usace.army.mil/lakes/thurmond/images/camping%20at%20clark%202.jpg" 
+0

謝謝您的回覆!但是,這是JS的轉義函數,它就像那樣轉換它,即第一個URL。 – Martin 2011-05-05 10:57:45