顾名思义,Path是实体(如文件或目录)在文件系统中的特定位置,以便人们可以在该特定位置搜索和访问它。
通常,一个实体的路径可以是两种,一种是绝对路径,另一种是相对路径,为了获得Path的,无涯教程可以使用java.nio.file.Paths类 get()的静态方法。
如上所述,绝对路径是通过传递根元素和定位文件所需的完整目录列表来检索的,而相对路径可以通过将基本路径和相对路径组合来检索,两个路径的检索将在以下示例中进行说明
package com.java.nio; import java.io.IOException; import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.file.FileSystem; import java.nio.file.LinkOption; import java.nio.file.Path; import java.nio.file.Paths; public class PathDemo { public static void main(String[] args) throws IOException { Path relative = Paths.get("file2.txt"); System.out.println("Relative path: " + relative); Path absolute = relative.toAbsolutePath(); System.out.println("Absolute path: " + absolute); } }
到目前为止知道什么是Path接口,为什么需要它以及如何访问它。现在将知道Path接口提供了哪些重要方法。
重要方法
getFileName() - 返回创建此对象的文件名。
getName() - 返回此Path的名称。
getNameCount() - 返回Path中名称的数量。
subpath() - 返回相对路径,该路径是名称的子序列。
getParent() - 返回父Path,如果没有,则返回null。
getRoot() - 返回根(Root)路径,如果没有,则返回null。
toAbsolutePath() - 返回绝对路径。
toRealPath() - 返回文件真实路径。
toFile() - 返回File对象。
normalize() - 返回路径,其中消除了多余的名称。
compareTo(Path other) - 按字典顺序比较两个文件路径。
endsWith(Path other) - 判断该路径是否以给定路径结尾。
endsWith(String other) - 判断此路径是否以指定的字符串结尾,
以下示例说明了上面提到的Path接口的不同方法-
package com.java.nio; import java.io.IOException; import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.file.FileSystem; import java.nio.file.LinkOption; import java.nio.file.Path; import java.nio.file.Paths; public class PathDemo { public static void main(String[] args) throws IOException { Path path = Paths.get("D:/workspace/ContentW/Saurav_CV.docx"); FileSystem fs = path.getFileSystem(); System.out.println(fs.toString()); System.out.println(path.isAbsolute()); System.out.println(path.getFileName()); System.out.println(path.toAbsolutePath().toString()); System.out.println(path.getRoot()); System.out.println(path.getParent()); System.out.println(path.getNameCount()); System.out.println(path.getName(0)); System.out.println(path.subpath(0, 2)); System.out.println(path.toString()); System.out.println(path.getNameCount()); Path realPath = path.toRealPath(LinkOption.NOFOLLOW_LINKS); System.out.println(realPath.toString()); String originalPath = "d:\\data\\projects\\a-project\\..\\another-project"; Path path1 = Paths.get(originalPath); Path path2 = path1.normalize(); System.out.println("path2=" + path2); } }
参考链接
https://www.learnfk.com/java-nio/java-nio-path.html
标签:java,nio,无涯,System,Java,path,println,Path,NIO From: https://blog.51cto.com/u_14033984/9025311