File、Files、Path、Paths

2023-03-07,,

一、Path、Paths 和 File、Files

        // Paths 工具类,用于获取 Path 实例
Path path = Paths.get("files/Data.txt"); // 相对路径
Path path2 = Paths.get("D:\\files/Data.txt"); // 绝对路径
Path path3 = Paths.get("D:/files/Data.txt"); // 绝对路径
Path path4 = Paths.get("D:/files", "Data.txt"); // 绝对路径
System.out.println(path); // 打印结果:files\Data.txt
System.out.println(path2); // 打印结果:D:\files\Data.txt
System.out.println(path3); // 打印结果:D:\files\Data.txt
System.out.println(path4); // 打印结果:D:\files\Data.txt
// 路径正常化
Path path5 = Paths.get("D:/files/../files2/file2.txt"); // 绝对路径
System.out.println(path5); // 打印结果:D:\files\..\files2\file2.txt
System.out.println(path5.normalize()); // 打印结果:D:\files2\file2.txt // Flies
boolean exists = Files.exists(path5); // 判断文件是否存在,存在返回true,反之返回false
System.out.println(exists); // false
try {
/*
创建一级目录
如果存在,则抛出异常:FileAlreadyExistsException
无法创建多级目录,如果目录不存在,则会抛出异常:NoSuchFileException
*/
Files.createDirectory(path5);
// 创建多级目录
Files.createDirectories(path5);
// copy 文件,如果文件存在则会抛出异常:FileAlreadyExistsException
Files.copy(path, path5);
// 如果希望覆盖掉已存在的文件,需要使用 StandardCopyOption.REPLACE_EXISTING
Files.copy(path, path5, StandardCopyOption.REPLACE_EXISTING);
// 移动文件,StandardCopyOption.ATOMIC_MOVE 保证移动文件的原子性
Files.move(path, path5, StandardCopyOption.ATOMIC_MOVE);
/*
1. 删除文件,如果文件不存在,则会抛出异常:NoSuchFileException
2. 删除目录,如果目录不存在,则会抛出异常:DirectoryNotEmptyException
*/
Files.delete(path2);
} catch (IOException e) {
e.printStackTrace();
}

二、文件遍历

File、Files、Path、Paths的相关教程结束。

《File、Files、Path、Paths.doc》

下载本文的Word格式文档,以方便收藏与打印。