我正在开发一个通过 HTTP 导出本地文件的项目。这涉及获取文件 URI,使用导出的路径对其进行相对化,将其附加到导出 URI,然后在接收端将其作为 URL 处理。
通常这可以正常工作,但是当文件名包含分号时我会遇到麻烦。我把它缩小到这里:
new File(path).toURI()
上述方法正确编码了空格等,但不编码分号(应编码为 %3B)。
最终,上述方法返回 URI 构造函数(协议、主机、路径、片段)的结果,该结果返回错误的 URI。
我可以用 %3B 手动替换所有分号,但这并不是最好的解决方案。真的没有内置 API 可以正确编码路径吗?
非常感谢您的帮助。