有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何用括号编码替换url中的括号?

我需要一个正则表达式模式,它将查找并替换URL中的括号,以进行URL编码

例如,基本url,如:

http://www.mysite.com/bla/blabla/abc[1].txt

将转到:

http://www.mysite.com/bla/blabla/abc%5B1%5D.txt

有人能帮忙吗

编辑1: 我最初使用commons httpclient来访问这种URL。 当我使用第一个URL时,我得到一个“转义绝对路径无效”异常

我不能使用URLENCODER,因为当我使用它时,会出现“主机参数为null”异常


共 (2) 个答案

  1. # 1 楼答案

    你试过了吗。编码

    在爪哇。网URL编码器包

    编辑:

    好吧,我明白了。。。不能将整个URL传递给URLEncoder。URLEncoder主要用于对查询参数进行编码

    试试这个:

    URI uri = new URI("http", "www.mysite.com", "/bla/blabla/abc[1].txt",null);
        System.out.println(uri.toASCIIString());
    
  2. # 2 楼答案

    下面这一行应该可以做到

    String s = URLEncoder.encode("http://www.mysite.com/bla/blabla/abc[1].txt", "UTF-8");