Java定时清理过期文件的实例代码
项目中经常需要自动定时去清理一些过期文件,这个其实Java实现挺简单的,核心部分就2个,一个定时任务,一个递归删除文件,不过前提是你的文件放在以“2018-12-05”这样命名的文件夹下,下面直接上核心代码:
1.递归删除文件
/**
*递归删除文件夹下所有文件
*@paramfile
*/
publicstaticvoiddeleteFile(Filefile){
if(file.isDirectory()){
//递归删除文件夹下所有文件
File[]files=file.listFiles();
for(Filef:files){
deleteFile(f);
}
//删除文件夹自己
if(file.listFiles().length==0){
logger.info("删除文件夹:[{}]",file);
file.delete();
}
}else{
//如果是文件,就直接删除自己
logger.info("删除文件:[{}]",file);
file.delete();
}
}
2.定时任务
@Component
publicclassFileJob{
privatestaticfinalLoggerlogger=LoggerFactory.getLogger(FileJob.class);
@Scheduled(cron="0/1*****")
publicvoidclean()throwsParseException{
logger.info("开始删除文件...");
longstartTime=System.currentTimeMillis();
//删除文件
FiledeleteFile=newFile("xxx");
File[]deleteFiles=deleteFile.listFiles();
for(Filefile:deleteFiles){
DatecreateDate=newSimpleDateFormat("yyyy-MM-dd").parse(file.getName());
//删除15天前的文件
if(newDate().compareTo(DateUtil.getDateIn(DateUtil.DAY,15,createDate))>0){
FileUtil.deleteFile(uploadFile);
}
}
logger.info("删除文件结束,总耗时:[{}]毫秒",System.currentTimeMillis()-startTime);
}
}
总结
以上所述是小编给大家介绍的Java定时清理过期文件的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
热门推荐
10 送个姐妹生日祝福语简短
11 嫂子生日的祝福语简短
12 我想找祝福语大全简短
13 祝福语大全简短赞美同学
14 三八简短祝福语给婆婆
15 送给老师中秋祝福语简短
16 上嫂子生日祝福语简短
17 送女士祝福语长辈简短
18 新年祝福语短句简短搞笑