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
                    
                
                
            
        
浙公网安备 33010602011771号