JS-encodeURI相当于Java

JS-encodeURI相当于Java,java,html,encoding,Java,Html,Encoding,我有一个文件路径: file://///10.10.10.10/Yev Pri - Ru─▒n G├╢z├╝yle Ortado─Яu.pdf 具体情况如下: file://///10.10.10.10/Ye%20Pri%20-%20Ru%E2%94%80%E2%96%92n%20G%E2%94%9C%E2%95%A2z%E2%94%9C%E2%95%9Dyle%20Ortado%E2%94%80%D0%AFu.pdf 当我检查HTML时,它位于HTML的标记内。我想在Java中生成相同的字

我有一个文件路径:

file://///10.10.10.10/Yev Pri - Ru─▒n G├╢z├╝yle Ortado─Яu.pdf
具体情况如下:

file://///10.10.10.10/Ye%20Pri%20-%20Ru%E2%94%80%E2%96%92n%20G%E2%94%9C%E2%95%A2z%E2%94%9C%E2%95%9Dyle%20Ortado%E2%94%80%D0%AFu.pdf
当我检查HTML时,它位于HTML的
标记内。我想在Java中生成相同的字符串。当我用

URLEncoder.encode(路径,StandardCharsets.UTF_8.displayName())


似乎浏览器应用了
encodeURI()
。如何使用浏览器获取相同的字符串?

URLEncoder用于对表单数据进行编码。要创建转义URL或URI,请使用:


注意:您不能使用
新URI(“file://///10.10.10.10/Yev Pri-Ru─▒n G├╢Z├╝奥塔多─Яu.pdf“
,因为该构造函数不会对URI中不合法直接出现的字符执行百分比转义。类文档明确指定单参数构造函数希望参数已经有正确的转义。

URLEncoder用于编码表单数据。要创建转义URL或URI,请使用:


注意:您不能使用
新URI(“file://///10.10.10.10/Yev Pri-Ru─▒n G├╢Z├╝奥塔多─Яu.pdf“
,因为该构造函数不会对URI中不合法直接出现的字符执行百分比转义。类文档明确指定单参数构造函数希望参数已经有正确的转义。

可能重复@KarlReid,谢谢链接。然而,这些答案并不适用于我的问题。这是一个URL路径,
/
不是由浏览器编码的?很公平,抱歉。看起来@VGR的答案符合你的需要。可能是@KarlReid的重复。谢谢你的链接。然而,这些答案并不适用于我的问题。这是一个URL路径,
/
不是由浏览器编码的?很公平,抱歉。看起来@VGR的答案符合您的需要。所以,我不能将其用作答案?您可以使用URI构造函数,它接受三个参数,就像我的代码块使用的那样。您不能使用接受一个参数的URI构造函数。因此,我不能将其用作答案?您可以使用接受三个参数的URI构造函数,就像我的代码块使用的那样。不能使用接受一个参数的URI构造函数。
file%3A%2F%2F%2F%2F%2F10.10.10.10%2FYev+Pri+-+Ru%E2%94%80%E2%96%92n+G%E2%94%9C%E2%95%A2z%E2%94%9C%E2%95%9Dyle+Ortado%E2%94%80%D0%AFu.pdf
URI uri = new URI("file", "///10.10.10.10/Yev Pri - Ru─▒n G├╢z├╝yle Ortado─Яu.pdf", null);
String escapedURI = uri.toASCIIString();