Java定时清理过期文件的实例代码

网友投稿 507 2023-01-18


Java定时清理过期文件的实例代码

项目中经常需要自动定时去清理一些过期文件,这个其实java实现挺简单的,核心部分就2个,一个定时任务,一个递归删除文件,不过前提是你的文件放在以“2018-12-05”这样命名的文件夹下,下面直接上核心代码:

1. 递归删除文件

/**

* 递归删除文件夹下所有文件

* @param file

*/

public static void deleteFile(File file) {

if (file.isDirectory()) {

//递归删除文件夹下所有文件

File[] files = file.listFiles();WOrVErZtTY

for (File f : files) {

deleteFile(f);

}

//删除文件夹自己

if (file.listFiles().length == 0) {

logger.info("删除文件夹:[{}]", file);

file.delete();

}

} else {

// 如果是文件,就直接删除自己

logger.info("删除文件:[{}]", file);

file.delete();

}

}

2. 定时任务

@Component

public class FileJob {

private static final Logger logger = LoggerFactory.getLogger(FileJob.class);

@Scheduled(cron = "0/1 * * * * *")

public void clean() throws ParseException {

logger.info("开始删除文件...");

long startTime = System.currentTimeMillis();

//删除文件

File deleteFile = new File("xxx");

File[] deleteFiles = deleteFile.listFiles();

for (File file : deleteFiles) {

Date createDate = new SimpleDateFormat("yyyy-MM-dd").parse(file.getName());

//删除15天前的文件

if (new Date().compareTo(DateUtil.getDateIn(DateUtil.DAY, 15, createDate)) > 0) {

FileUtil.deleteFile(uploadFile);

}

http://}

logger.info("删除文件结束,总耗时:[{}]毫秒", System.currentTimeMillis() - startTime);

}

}

总结

以上所述是给大家介绍的Java定时清理过期文件的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:实现接口基本语法(编写和实现接口的语法)
下一篇:如何优雅的抛出Spring Boot注解的异常详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~