0%

java | Path & paths

Java标准库还提供了一个Path对象,它位于java.nio.file包Path对象File对象类似,但操作更加简单。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.io.*;
import java.nio.file.*;
public class Main {
public static void main(String[] args) throws IOException {
Path p1 = Paths.get(".", "project", "study"); // 构造一个Path对象
System.out.println(p1);
Path p2 = p1.toAbsolutePath(); // 转换为绝对路径
System.out.println(p2);
Path p3 = p2.normalize(); // 转换为规范路径
System.out.println(p3);
File f = p3.toFile(); // 转换为File对象
System.out.println(f);
for (Path p : Paths.get("..").toAbsolutePath()) { // 可以直接遍历Path
System.out.println(" " + p);
}
}
}

如果需要对目录进行复杂的拼接、遍历等操作,使用Path对象更方便。

1
2
3
4
Path source = Paths.get("1.txt"); // 相对路径,使用 user.dir 环境变量定位文件
Path source = Paths.get("d:\\1.txt"); // 绝对路径
Path source = Paths.get("d:/1.txt"); // 绝对路径
Path source = Paths.get("d:\\data","project"); // 绝对路径 d:\data\projects
请我喝杯咖啡吧~