定时器

定时器

可以进行任务的重复操作,定时器要依赖于两个类:
    Timer和TimerTask
可安排任务执行一次,或者定期重复执行

构造方法:
    public Timer()创建一个新计时器。
    public void schedule(TimerTask task, Date time)安排在指定的时间执行指定的任务  
            参数1:task - 所要安排的任务
            参数2:time - 执行该任务的时间毫秒值
    public boolean cancel()取消此计时器任务
    public void schedule(TimerTask task,  Date firstTime,long period):每隔多少毫秒进行重复性的任务

需求:执行一个定时器,3秒之后爆炸,并且每隔2秒继续执行

代码:

public class boom extends TimerTask {

@Override
public void run() {
    System.out.println("boom!!!");
}

}

public static void main(String[] args) {
//创建定时器对象
Timer t = new Timer();
//实行任务
t.schedule(new boom(), 3000,2000);
}

结果:
boom!!!
boom!!!
boom!!!
boom!!!
boom!!!

需求:在指定的时间删除我们的指定目录(我使用项目路径下的demo)

代码:

public class TimerTest {
public static void main(String[] args) throws ParseException {
//创建定时器对象
Timer t = new Timer();

      String s = "2017-8-22 16:40:00";
      SimpleDateFormat sdf = new SimpleDateFormat("y-M-d H:m:s");

      Date d = sdf.parse(s);
      t.schedule(new delete(), d);
}

}
class delete extends TimerTask{

@Override
public void run() {
    File f = new File("e:\\demo");

    deleteFolder(f);

}
private static void deleteFolder(File f){
    File[] Files = f.listFiles();
    for(File file:Files){
        if(file.isDirectory()){
            deleteFolder(file);
        }else{
            System.out.println(file.getName()+"--"+file.delete());
        }
    }
    System.out.println(f.getName()+"--"+f.delete());
}

}

你可能感兴趣的:(定时器)