草庐IT

relativize

全部标签

java - 为什么当我尝试 .relativize() 一个 Path 而不是另一个 Path 时会得到 ProviderMismatchException?

[注意:自答题]我已经使用java.nio打开了一个压缩文件的FileSystem。我从那个文件系统得到了一个路径:finalPathzipPath=zipfs.getPath("path/into/zip");现在我在本地文件系统上有了一个目录,我使用以下方法获得了该目录:finalPathlocalDir=Paths.get("/local/dir")我想测试/local/dir/path/into/zip是否存在,所以我使用以下方法检查它是否存在:Files.exists(localDir.resolve(zipPath))但我得到一个ProviderMismatchExcept

java - 在哪里使用 java.nio.file.Path 类的 resolve() 和 relativize() 方法?

Pathp1=Paths.get("/Users/jack/Documents/text1.txt");Pathp2=Paths.get("/Users/jack/text2.txt");Pathresult1=p1.resolve(p2);Pathresult2=p1.relativize(p2);System.out.println("result1:"+result1);System.out.println("result2:"+result2);输出result1:/Users/jack/text2.txtresult2:../../text2.txt我无法理解resolve(