Java操作删除某个文件夹下的一周前的文件
这里我使用的是定时任务,直接设置好了任务后调用本方法即可!
这里我使用的是定时任务,直接设置好了任务后调用本方法即可!
public void removeExcel(){
//计算一周前的日期
Calendar cdweek = Calendar.getInstance();
cdweek.add(Calendar.DATE, -7);
Date d = cdweek.getTime();
String tomcat_path = new File(System.getProperty("user.dir")).getParentFile().getPath();
//1.获得系统目录下的所有的文件
String url = tomcat_path + "\\webapps\\admin\\excel\\";
File fileBag =new File(url);
String []filesName =fileBag.list();
for(int i=0;i<filesName.length;i++){
//获得文件的创建时间
File file = new File(url+ filesName[i]);
Long time =file.lastModified();
Calendar cd = Calendar.getInstance();
cd.setTimeInMillis(time);
//文件的最后一次修改的时间
Date fileDate = cd.getTime();
//一周前的时间与文件的创建时间比较,如果为true表示文件的创建时间早于一周前,那么需要删除
boolean flag = fileDate.before(d);
if(flag){
file.delete();
}else{
log.debug(filesName[i]+":是本周内创建的文件,不需要删除");
}
}
}