2011-05-05 61 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