Java实现删除目录及目录中所有文件

1、问题概述?

在开发的过程中,可能有如下需求,需要删除目录及相关文件:

1、代码执行过程中,可能会生成大量的临时文件和目录,这些文件和目录使用后需要删除。

2、系统需要配置定时任务,定时删除相关的备份文件。

3、删除制定目录及目录中的相关文件。

所有代码都亲测过,可直接使用

本案例中的写法需要jdk1.8及以上环境支持,使用流stream及Files.walk等工具类完成,语法精辟,功能强大。

2、关键功能介绍

【1、本案例中要删除的目录格式及文件格式】

文件中存放相关文件:图片、视频、音频、文本都可以

【2、获取时间并转化格式】

获取年月日(2025-05-06)并将默认时间中的-替换成空,最后变成格式:20250506

LocalDate.now().toString().replace("-","");

【3、通过stream的方式遍历集合】

通过stream的方式遍历集合,每次遍历从集合中获取一条数据,并将引用赋值给file参数。

在本案例中,由于我要删除的是多目录,多文件,所以Arrays.stream().forEach(file->{})获取的实际上时以及目录信息。

Arrays.stream().forEach(file->{})

【4、通过Files.walk】

使用Files.walk可以递归判断文件是否符合相关条件,并删除文件。

Paths.get():通过绝对路径获取文件

.map(Path::toFile):通过map递归获取文件流

.forEach(File::delete):遍历.map返回的文件流信息,并调用File中delete方法删除文件。

Files.walk(Paths.get(file.getAbsolutePath()))
        .map(Path::toFile)
        .forEach(File::delete);

【5、获取当前java工程的项目路径】

String projectPath&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雾林小妖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值