定時器類別Timer在java.util套件中。使用時,先實例化,然後使用實例的schedule(TimerTask task, long delay)方法,設定指定的任務task在指定的延遲delay後執行。定時器任務類別TimerTask是抽象類,繼承並重寫其run()方法,可實現具體任務。
schedule(TimerTask task, Date time)設定指定任務task在指定時間time執行。
cancel()方法結束這個定時器。
schedule(TimerTask task, long delay, long period)方法設定指定任務task在指定延遲delay後進行固定延遲peroid的執行。
scheduleAtFixedRate(TimerTask task, long delay, long period)方法設定指定任務task在指定延遲delay後進行固定頻率peroid的執行。
要實作一個定時任務,運用java中的Timer和TimerTask類別可以非常容易實作即時呼叫處理函數。這兩個類別使用起來非常方便,可以完成我們對定時器的絕大多數需求。
看個簡單的例子:
public class TimerTest
{
private static final int C_SCHEDULE_HOUR = 0; void main(String[] args)
{
Timer timer = new Timer( );
System.out.println("定時器已啟動");
// 在1秒後執行此任務,每次間隔2秒,如果傳遞一個Data任務.
timer.schedule(new MyTask(), 1000, 2000);
System.out.println("已新增任務調度表"); {// 這個是用來停止此任務的,否則就一直循環執行此任務了
try
if (ch - 'c' == if (ch - 'c' == 使用此方法退出任務
timer. cancel();
}
{
e.printStackTrace();
public static class MyTask extends TimerTask
{
{
Calendar cal = Calendar.getInstance();
地了目前是否正在執行的狀態標誌isRunning
if (!isRunning)
DULE_HOUR表示(晚上12點,亦即0點)
// if (C_SCHEDULE_HOUR == cal.get(Calendar.HOUR_OF_DAY))
// {
.out.println("開始執行指定任務");
// TODO 新增自訂的詳細任務,下列各範例 // 刪除E:tomcat6018webappswldbyaowenhtml20101227下的檔案
// 宣告變數
File[] fls = null;
String cityDirectPath = "E:/apache-tomcat-6.0.33/webapps/search/download";
嘗試
{
)
{
//文件夾*是否存在
fls = citydirect.listFiles();
if (fls != null)
{
for (文件fl : fls)
{
fl.delete();
}
}
}
{
println("刪除失敗
");
}
System.out.println("指定任務執行結束");
// }
}🎠
System.out.println("上一次任務執行結束");
}
更多java實例實例相關文章請關注PHP中文網!