zoukankan      html  css  js  c++  java
  • Java中的定时器

    定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行。在Java中,可以通过Timer和TimerTask类来实现定义调度的功能。(在java.util包下)
      A:Timer(定时器类)
        public Timer()
        public void schedule(TimerTask?task, long?delay)
        public void schedule(TimerTask task, long delay, long period)
      B:TimerTask(任务抽象类)
        public abstract void run()
        public boolean cancel()
      C:在实际开发中
        Quartz是一个完全由java编写的开源调度框架
      D:需求:在指定的时间删除我们的指定目录(演示:使用项目路径下的demo)

    示例代码如下:

     1 package cn.itcast_12;
     2 
     3 import java.io.File;
     4 import java.text.ParseException;
     5 import java.text.SimpleDateFormat;
     6 import java.util.Date;
     7 import java.util.Timer;
     8 import java.util.TimerTask;
     9 
    10 /*
    11  * 需求:在指定的时间删除我们的指定目录(演示:使用项目路径下的demo)
    12  */
    13 public class TimerTest {
    14     public static void main(String[] args) throws ParseException {
    15         Timer t = new Timer();
    16 
    17         String s = "2014-11-27 15:45:00";
    18         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    19         Date d = sdf.parse(s);
    20 
    21         t.schedule(new DeleteFolder(), d);
    22     }
    23 }
    24 
    25 
    26 class DeleteFolder extends TimerTask {
    27 
    28     @Override
    29     public void run() {
    30         File srcFolder = new File("demo");
    31         deleteFolder(srcFolder);
    32     }
    33 
    34     // 递归删除目录
    35     public void deleteFolder(File srcFolder) {
    36         File[] fileArray = srcFolder.listFiles();
    37         if (fileArray != null) {
    38             for (File file : fileArray) {
    39                 if (file.isDirectory()) {
    40                     deleteFolder(file);
    41                 } else {
    42                     System.out.println(file.getName() + ":" + file.delete());
    43                 }
    44             }
    45             System.out.println(srcFolder.getName() + ":" + srcFolder.delete());
    46         }
    47     }
    48     
    49 }
  • 相关阅读:
    epii.js简约而不简单的JS模板引擎
    Acwing 165. 小猫爬山
    《将博客搬家到csdn》
    Tourism【codeforces 1200E】
    Middle-Out【codeforces 1231E】(字符串匹配问题)
    super_log (广义欧拉降幂)(2019南京网络赛)
    Different Circle Permutation (HDU
    Knapsack Cryptosystem(状压dp)
    Quadratic equation(二次剩余定理)
    分级(线性dp)
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/8735509.html
Copyright © 2011-2022 走看看