如何在java中正确地转义uri路径,当从`getpath'获取它们时`

zqry0prt  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(257)

似乎一个人不能仅仅从一个Angular 出发 URIgetPath 返回:

val f = new java.io.File("/data/projects/Aleatorium/tmp[1]/impact1.aif")
val u = f.toURI
val v = new java.net.URI(u.getScheme, u.getPath, null)

这将导致最后一次掷线

java.net.URISyntaxException: Illegal character in path at index 34: file:/data/projects/Aleatorium/tmp[1]/impact1.aif

那么一会儿 u.toString 包含 tmp%5B1%5D , u.getPath 解码为 tmp[1] . 在将路径传递给构造函数之前,重新编码路径的最佳方法是什么?

v7pvogib

v7pvogib1#

研究《公约》的执行情况 File#toURI ,似乎我应该使用不同的构造函数,而不是传递 ssp (方案特定部分),应使用一个 hostpath :

val v = new java.net.URI(u.getScheme, u.getHost /* ! */, u.getPath, null)

相关问题