2012-10-28 50 views

回答

4

該文檔正確地建議使用URI類。 URLEncoder仍然提到的原因是我認爲歷史原因URLEncoder自1.0以來一直存在,而URI是在1.4中添加的。

4

URLEncoder儘管有其名稱,但用於編碼URL 參數或POST參數。

在查詢字符串之前正確編碼URL的正確方法是通過新的URI(null,String,null).toURL()。

7

您可以使用URI。例如:

URI uri = new URI("http","google.com","/ a z.html","asd= z%#@@#"); 
System.out.println(uri.toString()); 
//returns http://google.com/%20a%20z.html#asd=%20z%25%[email protected]@%23 

注意,單個參數構造函數不轉義字符,所以如果你這樣做,它會拋出一個異常:

URI uri = new URI("http://google.com/ a z.html?asd= z%#@@#"); 

從一個URI你可以得到一個URL做:

URL uri.toURL();