题目:递归删除一个文件中昨日之前创建的子文件和文件夹
//删除昨天之前创建的文件
import java.io.File;
import java.util.Calendar;
public class test3 {
//删除文件
private static void doDelateEmptyDir(String dir)
{
boolean success = (new File(dir)).delete();
if(success)
{
System.out.println("success");
}else{
System.out.println("err");
}
}
//删除文件夹下的创建时间为昨日之前的文件及子文件夹
private static void deleteDir(File dir)
{
//如果文件是一个标准文件,返回false
//或者如果文件是一个空文件,删除文件
if(dir.isFile() || dir.list().length == 0)
{
dir.delete();
}
//不然则递归删除文件
else{
//返回一个字符串数组,这些字符串表示目录中的文件和目录的url。
String[] children = dir.list();
for(int i=0;i<children.length;i++)
{
//得到目录下的文件
File file = new File(dir,children[i]);
//判断创建时间
Long time =file.lastModified();
Long currentTime = System.currentTimeMillis();
Long days = (currentTime-time)/(24*60*60*1000);
if(days>1)
{
//递归删除
deleteDir(file);
file.delete();
}
}
}
}
public static void main(String[] args)
{
doDelateEmptyDir("d://new_dir1");
String newDir2 = "d://new_dir2";
File file = new File(newDir2);
deleteDir(file);
}
}