📅  最后修改于: 2023-12-03 14:43:02.252000             🧑  作者: Mango
java.nio.file.Paths
类是Java 7引入的一种用于创建Path
实例的工厂方法。Path
代表文件系统中文件的位置,Paths
类包含了创建不同类型的Path
实例的静态方法。
创建Path
实例需要提供以下信息:
以下是使用Paths
类创建Path
实例的代码片段:
import java.nio.file.Paths;
import java.nio.file.Path;
Path path1 = Paths.get("C:\\Users\\username\\Documents\\example.txt");
Path path2 = Paths.get("/home/username/Documents/example.txt");
在上面的示例中,我们使用Paths.get()
方法创建了两个Path
实例,一个是Windows上的路径,另一个是Linux上的路径。
Path
实例提供了获取文件路径信息的方法,以下是一些常用的方法:
toString()
- 返回Path
实例的字符串表示形式。getFileName()
- 返回Path
实例的文件名部分。getParent()
- 返回Path
实例的父目录。getRoot()
- 返回Path
实例的根目录(如果是绝对路径则返回根目录,否则返回null)。以下是使用Path
实例获取路径信息的代码片段:
Path path = Paths.get("/home/username/Documents/example.txt");
System.out.println(path.toString()); // 输出:/home/username/Documents/example.txt
System.out.println(path.getFileName()); // 输出:example.txt
System.out.println(path.getParent()); // 输出:/home/username/Documents
System.out.println(path.getRoot()); // 输出:/
我们可以使用resolve()
方法连接两个Path,或使用relativize()
方法获取一个Path相对于另一个Path的相对路径。以下是使用这两个方法的代码示例:
Path absolutePath = Paths.get("/home/username");
Path relativePath = Paths.get("Documents/example.txt");
Path fullPath = absolutePath.resolve(relativePath); // 连接绝对路径和相对路径得到全路径
System.out.println(fullPath); // 输出:/home/username/Documents/example.txt
Path relativePath2 = fullPath.relativize(absolutePath); // 获取相对于绝对路径的相对路径
System.out.println(relativePath2); // 输出:Documents/example.txt
我们可以使用isAbsolute()
方法判断一个Path是否是绝对路径,或使用toAbsolutePath()
方法将相对路径转换为绝对路径。以下是使用这两个方法的代码示例:
Path path1 = Paths.get("/home/username/Documents/example.txt");
Path path2 = Paths.get("Documents/example.txt");
System.out.println(path1.isAbsolute()); // 输出:true
System.out.println(path2.isAbsolute()); // 输出:false
Path fullPath = path2.toAbsolutePath(); // 转换为绝对路径
System.out.println(fullPath); // 输出:/home/username/Projects/Java/Documents/example.txt
java.nio.file.Paths
类是Java中一个非常方便的类,它提供了大量的方法来处理文件路径。掌握Paths
类的用法可以使我们在Java应用程序中更轻松地处理文件系统中的文件。