我有一个目录结构,其中包含日期为文件夹名称的文件夹。
我想删除除最后两天日期以外的所有文件夹。在这种情况下,除了今天的文件夹和最后两天。即 23、22、21。在这里,我无法使用 joda-time 来查找日期之间的差异。
这是我试图实现这一目标的代码。
DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal=Calendar.getInstance();
cal.add(Calendar.DATE, -2);
//java.util.Date date=new java.util.Date();
System.out.println("the date is "+dateFormat.format(cal.getTime()));
String direct="D:\\tempm\\Sample\\"+dateFormat.format(cal.getTime());
File file=new File(direct);
/* if(!file.exists())
{
file.mkdir();
System.out.println("folder created");
}*/
String path="D:\\tempm\\Sample\\";
File file2=new File(path);
for(File fi:file2.listFiles())
{
if(!fi.getAbsolutePath().equals(direct))
{
System.out.println(fi.getAbsolutePath());
FileDeleteStrategy.FORCE.delete(fi);
System.out.println("files except todays date were deleted");
}
}
如何找到这种格式的日期差异?还有如何减去它作为我的案例的路径?任何想法都会更有帮助
谢谢