java io之指定时间递归删除指定目录

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




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值