通过标题,可以看出主要用到了包括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