2
java.net.URI.create("http://adserver.adtech.de/adlink|3.0")
java.net.URISyntaxException:
Illegal character in path at index 32: http://adserver.adtech.de/adlink|3.0
雖然
new java.net.URL("http://adserver.adtech.de/adlink|3.0")
的作品就好了。
更新1
雖然
new org.apache.commons.httpclient.URI("http://adserver.adtech.de/adlink|3.0")
也完美的作品。
是什麼原因?
使用URLEncoder.encode,你可以看到http://stackoverflow.com/questions/4992317/illegal-character-in-path-at-index-16 – user1929959 2013-03-18 21:42:53
是的,但問題是爲什麼它適用於' java.net.URL'而不是'java.net.URI'? – Archer 2013-03-18 21:46:36
無法重現。 'URI.create()'和'new URI()'都會拋出異常。在URI.create()的情況下,它按照Javadoc包裝在一個'IllegalArgumentException'中。 Java版本1.7.0_17。 – EJP 2013-03-18 23:27:09