package test55;
import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.text.SimpleAttributeSet;
/**
* 多线程(定时删除指定的带内容目录)
*
* 需求:在指定的时间删除我们的指定目录
*/
class DeleteFolder extends TimerTask {
@Override
public void run() {
// TODO Auto-generated method stub
File srcFolder = new File("C:\\Users\\samsung\\Desktop\\demoo"); //在windows中斜杠的方向是向右斜的\\,在Linux 中斜杠的方向是向左斜的//
deleteFolder(srcFolder);
}
/**
*
* 要操作一个文件,必须要找到这个文件
* 在Java中,只有File类能表示一个文件,所有用File表示一个文件
* File的属性就是文件的路径,虚拟机会根据File类的参数找到指定的文件
* 找到文件后可以用File类的方法进行操作!
*
* delete()方法可以删除一个文件或者一个整个文件夹(整个目录),返回结果是布尔类型!!
*
* */
// 递归遍历删除目录
public void deleteFolder(File srcFolder) {
// TODO Auto-generated method stub
File[] fileArray = srcFolder.listFiles();
if (fileArray != null) {
for (File file : fileArray) {
if (file.isDirectory()) { // isDirectory()方法是判断文件是文件夹还是一个文件
deleteFolder(file);
} else {
System.out.println(file.getName() + ":" + file.delete());
}
}
System.out.println(srcFolder.getName() + ":" + srcFolder.delete());
}
}
}
public class test55 {
public static void main(String[] args) throws ParseException {
Timer t = new Timer();
String s = "2017-5-18 21:55:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sdf.parse(s);
t.schedule(new DeleteFolder(), d);
}
}
多线程(定时删除指定的带内容目录)
最新推荐文章于 2024-09-11 16:56:49 发布