在java中将字符串编码为URL

在java中将字符串编码为URL,java,url,Java,Url,如何将字符串转换为Url。比如下面的例子。我想编码https://abc.com/msds/AFALON MSDS.pdfintohttps://abc.com/msds/AFALON%20MSDS.pdf根据以下说明使用并调用encode()方法: 对字符串进行编码时,以下规则适用: 字母数字字符“a”到“z”、“a”到“z”以及“0”到“9” 保持不变 特殊字符“.”、“-”和“*”保持不变 空格字符“”被转换为加号“+” 所有其他字符都是不安全的,首先使用某种编码方案将其转换为一个或多个字

如何将字符串转换为Url。比如下面的例子。我想编码
https://abc.com/msds/AFALON MSDS.pdf
into
https://abc.com/msds/AFALON%20MSDS.pdf

根据以下说明使用并调用encode()方法

对字符串进行编码时,以下规则适用:

  • 字母数字字符“a”到“z”、“a”到“z”以及“0”到“9” 保持不变
  • 特殊字符“.”、“-”和“*”保持不变
  • 空格字符“”被转换为加号“+”
  • 所有其他字符都是不安全的,首先使用某种编码方案将其转换为一个或多个字节。然后,每个字节由3个字符的字符串“%xy”表示,其中xy是字节的两位十六进制表示形式。建议使用的编码方案是UTF-8。但是,出于兼容性原因,如果未指定编码,则使用平台的默认编码
  • 像这样试试

    System.out.println(URLEncoder.encode(
             "https://abc.com/msds/AFALON MSDS.pdf", "UTF-8").replace("+", "%20"));
    
    尽管我希望“replace”(“+”,“%20”))部分进行更改,但仍将此作为输出。它将“+”标记替换为“%20”,并创建一个工作url。虽然“encode”创建了一个由“+”组成的url,但它不起作用。无论如何,非常感谢。