删除指定日期前的文件File
程序员文章站
2022-05-15 09:54:27
...
/**
* 定时删除日志
*
* @param path 日志路径
* @param day 最近几天
* @param pdate 计划日期
*/
public static void deleteLogFileMyself(String path, int day, String pdate) {
File file = new File(path);
Calendar calendar = Calendar.getInstance();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
Date currentDate = df.parse(pdate);
calendar.setTime(currentDate);
calendar.add(Calendar.DATE, -day); //得到前几天
Date date = calendar.getTime();
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File f : files) {//xxxx_2019-09-05_2325
Date logdate = df.parse(f.getName().split("_")[1]);
//若是文件夹且在设定日期之前
if (f.isDirectory() && logdate.before(date)) {
File[] log = f.listFiles();
for (File flog : log) {
flog.delete();
}
f.delete();
}
} }
} catch (ParseException e) {
}
}
calendar.add(Calendar.DATE, -day); //得到前几天
logdate.before(date) 比较日期date类型
上一篇: Java获取12个月前的月初日期