通过标题,可以看出主要用到了包括io流、定时器、递归在内的知识
所要删除的文件夹为"Demo",如图,
package 定时器;
import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/*
* 定时器:可以在指定的时间内做某件事情,还可以重复做某件事情
* Timer和TimerTask两个类
* Timer:定时
* TimerTask:任务
*/
//创建类,继承自TimerTask
class DeleteFile extends TimerTask {
// 重写run()方法
public void run() {
File srcFolder = new File("Demo");
delFolderFile(srcFolder);
}
private void delFolderFile(File srcFolder) {
File[] files = srcFolder.listFiles();
if (files != null) {
for (File file : files) {// 遍历文件夹
if (file.isDirectory()) {// 如果是文件夹
delFolderFile(file);// 递归
} else {// 如果是文件,就删除
System.out.println(file.getName() + ":" + file.delete());
}
}
System.out.println(srcFolder.getName() + ":" + srcFolder.delete());
}
}
}
public class DelFileTimer {
public static void main(String[] args) throws ParseException {
// 创建定时器对象
Timer timer = new Timer();
// 制定删除时间
String string = "2017-03-01 16:03:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(string);
// 安排指定的任务在指定的时间开始执行。
timer.schedule(new DeleteFile(), date);
}
}
运行结果:
b.txt:true
fos.txt:true
namee.txt:true
person.txt:true
file:true
fos.txt:true
namee.txt:true
person.txt:true
Demo:true