Path接口与Files工具类

简介: 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();
        }
    }


目录
相关文章
|
10月前
|
监控 安全 网络安全
深入解析PDCERF:网络安全应急响应的六阶段方法
PDCERF是网络安全应急响应的六阶段方法,涵盖准备、检测、抑制、根除、恢复和跟进。本文详细解析各阶段目标与操作步骤,并附图例,助读者理解与应用,提升组织应对安全事件的能力。
1504 89
|
安全 前端开发 JavaScript
如何检查和验证 HTML 中的 CSP 策略是否有效
本文介绍如何检查和验证 HTML 中的 Content Security Policy (CSP) 策略是否有效,包括使用浏览器开发者工具、在线验证工具和常见问题排查方法。
|
机器学习/深度学习 人工智能 监控
一文读懂deepSpeed:深度学习训练的并行化
DeepSpeed 是由微软开发的开源深度学习优化库,旨在提高大规模模型训练的效率和可扩展性。通过创新的并行化策略、内存优化技术(如 ZeRO)及混合精度训练,DeepSpeed 显著提升了训练速度并降低了资源需求。它支持多种并行方法,包括数据并行、模型并行和流水线并行,同时与 PyTorch 等主流框架无缝集成,提供了易用的 API 和丰富的文档支持。DeepSpeed 不仅大幅减少了内存占用,还通过自动混合精度训练提高了计算效率,降低了能耗。其开源特性促进了 AI 行业的整体进步,使得更多研究者和开发者能够利用先进优化技术,推动了 AI 在各个领域的广泛应用。
|
弹性计算 关系型数据库 数据库
利用阿里云进行性能优化:实践案例分享
在开发在线教育平台过程中,我们遇到了由于用户访问量增加而导致的性能瓶颈问题。通过使用阿里云的多种服务,包括RDS数据库、ECS弹性扩展、SLB负载均衡、OSS存储和CDN加速,我们对数据库、应用服务器和静态资源加载进行了全面优化。优化后的系统性能显著提升,数据库查询速度提高了60%,服务器负载下降了40%,静态资源加载时间减少了70%,从而极大改善了用户体验。本文详细介绍了问题分析、具体解决方案及其实施效果,旨在为其他开发者提供有价值的参考。
549 3
|
JavaScript Java 定位技术
springboot+vue医疗服务系统(源码+文档)
医疗服务系统实现了以下功能: 管理管理员:首页、个人中心、普通村民管理、乡村医生管理、公告信息管理、乡村诊室管理、健康档案管理、学习培训管理、考核信息管理、医疗地图管理、医疗药品管理、类型信息管理、购买信息管理、留言板管理、管理员管理、系统管理。 乡村医生:首页、个人中心、公告信息管理、乡村诊室管理、健康档案管理、紧急事故管理、学习培训管理、考核信息管理、购买信息管理、系统管理。 普通村民:首页、个人中心、健康档案管理、紧急事故管理、留言板管理。 前台首页:首页、公告信息、医疗地图、医疗药品、留言反馈、个人中心、后台管理、医生咨询模块的修改和维护操作。
|
Unix Linux 开发工具
Linux 常用命令汇总(三):查看文件 & 内容处理
Linux 常用命令汇总(三):查看文件 & 内容处理
|
JavaScript 前端开发 算法
【JavaScript技术专栏】深入理解JavaScript垃圾回收机制
【4月更文挑战第30天】本文深入解析JavaScript的垃圾回收机制,旨在帮助开发者理解其工作原理。内容涵盖垃圾回收的概念、标记阶段、清除阶段,以及优化策略如增量回收、分代回收和并行回收。此外,还介绍了引用计数、标记-清除等常见垃圾回收算法,并讨论了内存泄漏的原因及解决方法,强调理解垃圾回收对编写高效代码的重要性。
402 0
|
安全 Java 应用服务中间件
干货 | Tomcat漏洞复现总结
干货 | Tomcat漏洞复现总结
1926 0
|
人工智能 中间件
呼叫中心中间件-网关配置
支持给网关指定变量,设置网关的语音编码编码和主叫号码。网关配置编辑后,不能实时生效 ,需要执行sofia命令才可以生效,具体看SIP设置。 配置 cti_gateway@domain [哈希表] key 网关名字 value 网关配置 | ``` { "param": { "register": "true", "caller-id-in-from": "true", "realm": "180.76.224.191:35560", "from-user": "", "destination-prefi
|
XML 前端开发 Java
【Android App】三维处理中三维投影OpenGL功能的讲解及实战(附源码和演示 超详细必看)
【Android App】三维处理中三维投影OpenGL功能的讲解及实战(附源码和演示 超详细必看)
338 1