如何使用Java对URL进行编码

时间:2012-09-27 22:20:00

标签: java

给定一个这样的URL,

http://www.example.com/some目录/某个文件

如何编码此网址?浏览器会自动编码。在Java中,我找不到现成的函数。我怀疑应该有这样的功能,因为这通常是需要的。

当我尝试使用带有单个String的构造函数的URI类,并解析URL的组件(如权限,路径等)时,它会出错,因为它需要编码的URL。

你知道一个现成的函数会产生,例如在这种情况下:

http://www.example.com/some%20directory/some%20file

1 个答案:

答案 0 :(得分:3)

试试这个:

final URL url = new URL("http://www.example.com/some directory/some file");
final URI uri = new URI(url.getProtocol(), url.getHost(), url.getPath(), null);

System.out.println(uri.toASCIIString());