java定时删除指定文件夹里面的所有内容

写一个小程序定时删除一个文件夹里面的所有内容;

package executorpool;

import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * 类描述:定时删除某个文件夹里面所有数据的的例子
 * 
 * @author: 张宇
 * @date: 日期: 2018年9月4日 时间: 上午11:11:05
 * @version 1.0
 */

public class DeleteFolderAtRegularTime {

	public static void main(String[] args) throws ParseException {
		Timer t = new Timer();
		String string = "2018-9-4 11:15:00";
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date d = sdf.parse(string);
		t.schedule(new DeleteFolder(t), d);
	}
}

//删除文件夹的类
class DeleteFolder extends TimerTask {

	private Timer timer;
	public DeleteFolder(Timer t) {
		this.timer = t;
	}

	@Override
	public void run() {
		// TODO Auto-generated method stub
		File srcFolder = new File("D:\\demodelete");
		Deletefiles(srcFolder);
		// 最后释放资源
		timer.cancel();
	}

	//删除文件夹的方法
	private void Deletefiles(File srcFolder) {
		// TODO Auto-generated method stub
		File[] fileArrayFiles = srcFolder.listFiles();
		if (fileArrayFiles != null) {
			for (File file : fileArrayFiles) {
				if (file.isDirectory()) {
					Deletefiles(file);
				} else {
					System.out.println(file.getName() + ":" + file.delete());
				}
			}
		}
		System.out.println(srcFolder.getName() + ":" + srcFolder.delete());
	}
}

猜你喜欢

转载自blog.csdn.net/zy345293721/article/details/82380826