SpringBoot项目中定时任务删除时间大于30天的文件及文件夹
Posted 老周聊架构
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot项目中定时任务删除时间大于30天的文件及文件夹相关的知识,希望对你有一定的参考价值。
欢迎大家关注我的公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。
1、首先要先写定时任务,之前有一篇写过定时任务的文章,没有看的可以点击下面的链接看一下:
定时任务编写好了,剩下的就简单了。
2、编写删除时间大于30天的文件及文件夹的方法
public class DeleteExpiredFile
private static final String ROOT_DIR_HISTORY_PATH = "/data";
public void deleteExpiredFileTask()
File file = new File(ROOT_DIR_HISTORY_PATH);
deleteExpiredFile(file);
private void deleteExpiredFile(File file)
if (!file.exists()) return;
if (!file.isDirectory())
determineExpiredFile(file);
else
for (File f : file.listFiles())
deleteExpiredFile(f);
private void determineExpiredFile(File file)
long lastModifiedTime = file.lastModified();
long currentTime = new Date().getTime();
long timeInterval = 30 * 24 * 60 * 60 * 1000;
if (currentTime - lastModifiedTime > timeInterval)
file.delete();
3、定时任务的启动类调用 deleteExpiredFileTask() 这个方法就可以了
以上是关于SpringBoot项目中定时任务删除时间大于30天的文件及文件夹的主要内容,如果未能解决你的问题,请参考以下文章