java删除几天前的文件
业务需求:
有时候我们在上传图片到指定目录后,长时间会造成有些图片已经没有任何作用了,我们就可以做一个定时删除指定目录下的文件,去删除那些文件
package com.test.demo; import lombok.extern.slf4j.Slf4j; import java.io.File; import java.util.Calendar; import java.util.Date; /** * @author zhangdan * @version 1.0 * @description: TODO * @date 2022/7/1 15:37 */ @Slf4j public class DeleteFilesSimpe { public static void main(String[] args) { String filePath = "D:\\testtest"; moveFileToReady(filePath); } public static Integer moveFileToReady(String fromDir){ File srcDir = new File(fromDir); if (!srcDir.exists()) { return 0; } File[] files = srcDir.listFiles(); if (files == null || files.length <= 0) { return 0; } int l = 0; Date today = new Date(); for (int i = 0; i < files.length; i++) { if (files[i].isFile()) { try { File ff = files[i]; long time=ff.lastModified(); Calendar cal=Calendar.getInstance(); cal.setTimeInMillis(time); Date lastModified = cal.getTime(); long days = getDistDates(today, lastModified); if(days>=3){ files[i].delete(); l++; } } catch (Exception e) { log.info("删除文件失败"); } } } return l; } /** * @param startDate * @param endDate * @return */ public static long getDistDates(Date startDate, Date endDate) { long totalDate = 0; Calendar calendar = Calendar.getInstance(); calendar.setTime(startDate); long timestart = calendar.getTimeInMillis(); calendar.setTime(endDate); long timeend = calendar.getTimeInMillis(); totalDate = Math.abs((timeend - timestart))/(1000*60*60*24); return totalDate; } }
转:https://blog.csdn.net/q15102780705/article/details/113534783
分类:
io
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?