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 }?
我的GitHub地址:https://github.com/heizemingjun我的博客園地址:http://www.cnblogs.com/chenmingjun
我的螞蟻筆記博客地址:http://blog.leanote.com/chenmingjun
Copyright ?2018 黑澤明軍
【轉載文章務必保留出處和署名,謝謝!】
總結
- 上一篇: java基础-Eclipse开发工具介绍
- 下一篇: Fragment专辑(三):Fragme