定时器

来源:互联网 发布:c语言的科学和艺术 pdf 编辑:程序博客网 时间:2024/06/05 06:50

定时器

可以进行任务的重复操作,定时器要依赖于两个类:    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 {

@Overridepublic 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{

@Overridepublic 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());}

}

原创粉丝点击