- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
方法java.nio.file.Path.relativize()
将抛出带有一些参数的 IllegalArgumentException
。
A relative path cannot be constructed if only one of the paths have a root component. Where both paths have a root component then it is implementation dependent if a relative path can be constructed.
例如,在 Windows 上,如果两个参数引用不同驱动器上的路径,该方法可能会失败。
是否有一种与操作系统无关的方法来测试特定参数是否合法,在调用Path.relativize()
之前,以避免依赖异常来处理非特殊情况吗?
最佳答案
它说它是“依赖于实现”,所以不是,但是做出一些假设,您可以检查它们是否共享相同的根和文件系统。
getRoot()
如果路径没有根组件,则返回 null,否则返回 /
对于类似 Linux 的操作系统,例如对于 Windows,C:\
。如果另一个路径具有不同的根(例如 D:\
),则 relativize()
将失败。
所以,如果 Path
对象是相同的 FileSystem
,并且两者都是相对的(getRoot()
返回 null),或者两者具有相同的根组件,relativize()
应该可以正常工作。
不是完美的解决方案,因为我们不知道“实现”的想法,但足够接近?
关于java - 测试 Path.relativize() 是否会成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38063524/
方法java.nio.file.Path.relativize()将抛出带有一些参数的 IllegalArgumentException。 A relative path cannot be cons
通常,一个路径会忽略它包含的所有.(这个目录)。所以,c:\\personal\\.\\photos\\readme.txt 和 c:\\personal\\photos\\readme.txt 应该
在准备 java 7 认证考试时,我必须开始仔细研究 Path.relativize() 方法。虽然表面上它的目的似乎很简单,表达了相对于另一个的路径,但我发现它的实现违背了我对文件系统的所有理解,即
我理解以下内容 - 这对我来说很有意义: Path path3 = Paths.get("/partA/partB"); Path path4 = Paths.get("/partA/
我很难理解 java.nio.file.Path.relativize() 方法。我也知道类似的 question已被问到,但答案并没有帮助我理解这个概念。 考虑以下代码片段: Path path =
我正在使用 java 7 的新 Path 对象,但遇到了问题。 我有一个带有基目录的文件存储系统,我创建了自己的相对路径。最后我想把这个相对路径存储在某个地方。不过,我遇到了 Path.relativ
我有两个 URI 对象。一个指向一个 JAR 文件中的文件夹,另一个指向同一个 JAR 文件中的一个文件。该文件位于第一个 URI 指定的目录的子文件夹中。我喜欢创建一个相对 URI,因此生成的 UR
我试图熟悉 java.nio.file.Path.relativize() 但无济于事。 我已经阅读了 javadoc,也看到了示例。但是,我仍然无法理解以下示例(我使用 Linux,向 Window
[注意:自答题] 我已经使用 java.nio 打开了一个压缩文件的 FileSystem。我从那个文件系统得到了一个路径: final Path zipPath = zipfs.getPath("p
为什么方法relativize在 java-8 上的行为有所不同和 java-11 ? Path path1 = Paths.get("/a/./b/../image.png"); Path path
Path p1 = Paths.get("/Users/jack/Documents/text1.txt"); Path p2 = Paths.get("/Users/jack/text2.txt")
我是一名优秀的程序员,十分优秀!