Kotlin-Demo/jTest/FIleCopyBase.java

70 lines
2.7 KiB
Java
Raw Normal View History

2024-08-12 23:58:38 +08:00
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<String, Object> stringObjectMap = Files.readAttributes(source, "basic:*");
System.out.println(stringObjectMap);
}
}