(十七)Java-Path

  Path是 Java NIO(New I/O)库的一部分,位于 java.nio.file 包中,主要用于表示文件系统中的路径。它提供了一些方法来操作文件路径,使得文件操作更加灵活和易于管理。Path 与 File 类相比,具有更强的功能,并且支持跨平台的路径操作。

一、创建Path对象

1.使用 Paths.get() 方法

Path path = Paths.get("path/to/file.txt");

*2.使用 Path.of() 方法(Java 11 引入)

Path path = Path.of("path/to/file.txt");

二、常用方法

1.获取路径的组成部分

(1)getFileName()

获取路径的最后一个文件名部分。

(2)getParent()

获取路径的父目录部分

(3)getRoot()

获取路径的根部分

(4)示例

Path path = Path.of("D:\\test\\555.txt");

//获取路径的组成部分

System.out.println(path.getFileName());

System.out.println(path.getParent());

System.out.println(path.getRoot());

2.路径的基本操作

(1)resolve()

将一个路径与当前路径合并,形成一个新的路径。相当于路径的拼接。

Path path = Path.of("D:\\test\\");

Path path1 = Path.of("555.txt");

Path resolve = path.resolve(path1);

System.out.println(resolve);

// D:\test\555.txt

(2)normalize()

规范化路径,消除冗余的 . 或 ..。

Path path = Paths.get("D:\\test\\.\\555.txt");

System.out.println(path.normalize());  

// D:\test\555.txt

(3)relativize()

返回两个路径之间的相对路径。

Path path1 = Path.of("D:\\test");

Path path2 = Path.of("D:\\test\\555.txt");

Path relative = path1.relativize(path2);

System.out.println(relative);  

// 555.txt

3.路径的转换

(1)toAbsolutePath()

获取路径的绝对路径。

(2)toRealPath()

获取路径的真实路径,通常会解析符号链接。

4.检查文件属性

(1)isAbsolute()

判断路径是否为绝对路径。

(2)isDirectory()

检查路径是否是目录。

(3)isRegularFile()

检查路径是否是常规文件。

(4)示例

Path path = Path.of("D:\\test\\555.txt");

System.out.println(path.toAbsolutePath());

System.out.println(path.isAbsolute());  

System.out.println(Files.isDirectory(path));  

System.out.println(Files.isRegularFile(path));  

5.与 File 类的转换

(1)toFile()

将 Path 转换为 File 对象。

Path path = Path.of("D:\\test\\555.txt");

File file = path.toFile();

6.文件路径的访问与操作

(1)Files.exists()

检查文件或目录是否存在。

(2)Files.createFile()

创建一个新文件。

(3)Files.delete()

删除文件。

(4)示例

Path path = Path.of("D:\\test\\555.txt");

boolean exists = Files.exists(path);

Path file = Files.createFile(path);

Files.delete(file);

7.比较文件路径

(1)equals()

判断两个路径是否相等。

(2)compareTo()

按字典顺序比较两个路径。

(3)示例

Path path = Path.of("D:\\test\\555.txt");

Path path1 = Path.of("D:\\test\\333.txt");

path.equals(path1);

path.compareTo(path1);

你可能感兴趣的:(Java,java,开发语言)