package jTest; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.Map; public class FIleCopyBase { public static void main(String[] args) throws IOException { Path source = Path.of("D:\\Project\\demo\\source\\神偷奶爸4.ts"); Path target = Path.of("D:\\Project\\demo\\target\\神偷奶爸4.ts"); // 复制速度很快 Path copyPath = Files.copy(source, target); System.out.println("输出复制完成后的路径" + copyPath); // 删除文件,文件不存在或者目录不存在会抛出异常 Files.delete(target); // 删除文件如果存在就删除,不存在不会抛出异常 Files.deleteIfExists(target); // 移动文件 Path movePath = Files.move(source, target); System.out.println("输出移动完成后的路径" + movePath); // 判断文件是否存在 boolean exists = Files.exists(source); System.out.println(exists); // 是否为隐藏文件 boolean hidden = Files.isHidden(target); System.out.println(hidden); // 判断是否为目录 boolean directory = Files.isDirectory(target); System.out.println(directory); // 检查指定路径是否可读取。当文件或目录具有读取权限时,Files.isReadable() 方法将返回 true,否则返回 false。 boolean readable = Files.isReadable(target); System.out.println(readable); // 表示是否是可执行的文件 boolean executable = Files.isExecutable(target); System.out.println(executable); // 是否表示一个常规文件,是指不是目录或符号链接的文件 boolean regularFile = Files.isRegularFile(target); System.out.println(regularFile); // 检查文件是否相同 Files.copy(target, source); boolean sameFile = Files.isSameFile(target, source); System.out.println(sameFile); // 是否表示一个符号链接 boolean symbolicLink = Files.isSymbolicLink(target); System.out.println(symbolicLink); // 文件按字节的大小 long size = Files.size(target); System.out.println(size); // 读取指定文件的属性,如果第二个参数为空字符串,将返回所有基本文件属性。 // {lastAccessTime=2024-08-10T15:37:23.5577285Z, lastModifiedTime=2024-08-10T08:18:39.377836Z, size=1158625012, creationTime=2024-08-10T15:12:56.5838403Z, isSymbolicLink=false, isRegularFile=true, fileKey=null, isOther=false, isDirectory=false} Map stringObjectMap = Files.readAttributes(source, "basic:*"); System.out.println(stringObjectMap); } }