关于Path.resolve(Path other)
索赔的文件
如果
other
参数是绝对路径,则此方法通常会返回other
。
我不解:为什么?是否有一个真实的用例证明此功能很少?
我有一个反例。假设我们要将一个文件从一个文件复制FileSystem
到另一个文件,而且我们想保留它的路径字符串。例如,如果原始文件是/foo/bar/readme.txt at fs1
,则副本应是/foo/bar/readme.txt at fs2
。一个明显的灵魂是:
public void copyFile(Path fs1path, FileSystem fs2) {
Path fs2path = fs2.getRootDirectories().next();
Path src = fs1path.getAbsolute();
Path dest = fs2path.resolve(src);
Files.copy(src, dest);
}
当然,它不起作用,因为dest
与fs1
而不是关联fs2
。但是上面的代码看起来非常一致!也许,这是我对Path
s 及其分辨率的理解不足?请帮助我度过这个难关。