Path接口与Files工具类
Path接口与Files工具类
1.path接口
Path表示的是一个目录名序列,其后还可以跟着一个文件名,路径中的第一个部件是跟部件时就是绝对路径。否则就是相对路径
2.Files工具类
读写文件:static path write(Path path,byte[] bytes,OpenOption...options)
写入文件
static byte[] readAllBytes(Path path)
读取文件中的所有字节
复制、剪切,删除
static path copy(Path source,Path target,CopyOption...options)
static path move(Path source,Path target,CopyOption...options)
static void delete(Path path)
//如果不存在会抛出异常,此时调用下面的比较好
static boolean deleteIfExists(Path path)
创建文件和目录
Files.createDirectory(Path)
//创建目录,除了最后一个部件,其他的部件必须存在
Files.createDirectoties(Path)
// 可以创建不存在的中间部件
```Files.cteatFile(Path)``// 创建一个空文件,已经存在会抛出异常
代码演示:
Path:
创建path的三种方式:
File file = new File("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\nio.txt");
Path path2 = file.toPath();
Path path1 = Paths.get("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\nio.txt");
Path path3 = FileSystems.getDefault().getPath("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\nio.txt");
Files:
写文件:
//写文件(Files工具类)
try {
Files.write(path1, "lalala".getBytes(), StandardOpenOption.APPEND);
} catch (IOException e) {
e.printStackTrace();
}
读文件
// 读文件
byte[] bytes = new byte[0];
try {
bytes = Files.readAllBytes(path1);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(new String(bytes));
复制文件:
// 复制文件到哪里
Path newPath = Paths.get("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\newNio.txt");
try {
//如果存在则覆盖
Files.copy(path1, newPath, StandardCopyOption.REPLACE_EXISTING);
} catch (IOException e) {
e.printStackTrace();
}
移动文件:
// 移动文件
try {
Files.move(Paths.get("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\move.txt"), Paths.get("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\NewMove.txt"), StandardCopyOption.REPLACE_EXISTING);
} catch (IOException e) {
e.printStackTrace();
}
删除文件:
// 删除文件
try {
Files.deleteIfExists(Paths.get("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\delete.txt"));
} catch (IOException e) {
e.printStackTrace();
}
创建新目录
// 创建新目录(除了最后一个目录,其他目录必须存在)
// createDirectories(能创建不存在的中间部件)
try {
Files.createDirectory(Paths.get("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\textDirector"));
} catch (IOException e) {
e.printStackTrace();
}
创建文件
// 创建文件
try {
Files.createFile(Paths.get("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\wenjian.txt"));
} catch (IOException e) {
e.printStackTrace();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!