Path接口中resolve方法的作用相当于把当前路径当成父目录,而把参数中的路径当成子目录或是其中的文件,进行解析之后得到一个新路径;
resolveSibling方法的作用与resolve方法类似,只不过把当前路径的父目录当成解析时的父目录;
relativize方法的作用与resolve方法正好相反,用来计算当前路径相对于参数中给出的路径的相对路径;
subpath方法用来获取当前路径的子路径,参数中的序号表示的是路径中名称元素的序号;
startsWith和endsWith方法用来判断当前路径是否以参数中的路径开始或结尾。
在一般的路径中,“.”和“..”分别用来表示当前目录和上一级目录。通过normalize方法可以去掉路径中的“.”和“..”。所有这些方法的返回值都是Path接口的实现对象,因此这些方法可以很容易地级联起来。
//代码清单3-17 Path接口的使用示例 public void usePath() { Path path1 = Paths.get("folder1", "sub1"); Path path2 = Paths.get("folder2", "sub2"); path1.resolve(path2); //folder1sub1folder2sub2 path1.resolveSibling(path2); //folder1folder2sub2 path1.relativize(path2); //....folder2sub2 path1.subpath(0, 1); //folder1 path1.startsWith(path2); //false path1.endsWith(path2); //false Paths.get("folder1/./../folder2/my.text").normalize(); //folder2my.text }
转自:https://zhidao.baidu.com/question/646760893559036565.html