删除指定目录下超过7天的文件
温馨提示:
本文最后更新于 2022年12月16日,已超过 736 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
删除指定目录下超过7天的文件,包含目录下文件夹
/**
* @Description: 删除7天以前的文件
* @Author: http://365codemall.com/
* @CreateDate: 2022/12/16 10:32
* @UpdateUser:
* @UpdateDate:
* @UpdateReakem
* @param filePath
* @Return: boolean
**/
public static void delOutTimeFile(String filePath) {
//计算时间
long day = 7;
long hour = 24;
long minute = 60;
long second = 60;
long mmcond = 1000;
try {
File file = new File(filePath);
if(file.exists()) { //文件或文件夹是否存在
if(file.isDirectory()) { //判断是不是目录
//得到文件里面全部的文件及文件夹
File[] files = file.listFiles();
//遍历files里面的全部文件及文件夹
for(File f : files) {
//得到绝对路径下的文件及文件夹
if(f.isDirectory()){
delOutTimeFile(f.getAbsolutePath());
}else {
File absFile = f.getAbsoluteFile();
long currTime = System.currentTimeMillis(); //当前时间
long lastTime = absFile.lastModified(); //文件被最后一次修改的时间
//时间差
long diffen = currTime - lastTime;
// 定义指定天数删除时间
long thDay = day * hour * minute * second * mmcond;
if(diffen > thDay) {
absFile.delete();
log.info("删除文件:"+absFile.getName());
}
}
}
if(file.length() ==0){
file.delete();
}
}else {
log.info("传入参数不是文件夹");
}
}else{
log.info("文件路径不存在:"+filePath);
}
} catch (Exception e) {
log.error("删除文件出错:"+e.getMessage());
}
}
正文到此结束
- 本文标签: Java
- 本文链接: http://www.365codemall.com/article/36
- 版权声明: 本文由李俊杰原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权