代碼執行個體
package oa.epoint.com.watchFile;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/**
* Title: 檔案監控之定時器
*/
public class FileScheduler {
//定時器設定
private final Timer timer;
//構造方法
public FileScheduler(){
timer = new Timer();;
}
//設定守護線程
public FileScheduler(boolean isDaemon){
// 是否為守護線程
timer = new Timer(isDaemon);
}
/**
* MethodsTitle: 為定時器配置設定可執行任務
*/
public void schedule(Runnable task,TimeStep step){
Date time = step.next();
SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);
// 安排在指定的時間 time 執行指定的任務 timetask
timer.schedule(timeTask, time);
}
/**
* MethodsTitle: 重新執行任務
*/
private void reSchedule(Runnable task,TimeStep step){
Date time = step.next();
SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);
// 安排在指定的時間 time 執行指定的任務 timetask
timer.schedule(timeTask, time);
}
/**
* MethodsTitle: 停止目前定時器
*/
public void cancle(){
timer.cancel();
}
/**
* Title:停止目前定時器
*/
private class SchedulerTimerTask extends TimerTask{
private Runnable task;
private TimeStep step;
public SchedulerTimerTask(Runnable task,TimeStep step){
this.task = task;
this.step = step;
}
public void run() {
// 執行指定任務
task.run();
// 繼續重複執行任務
reSchedule(task, step);
}
}
}
package oa.epoint.com.watchFile;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/**
* Title: 檔案監控之定時器
*/
public class FileScheduler {
//定時器設定
private final Timer timer;
//構造方法
public FileScheduler(){
timer = new Timer();;
}
//設定守護線程
public FileScheduler(boolean isDaemon){
// 是否為守護線程
timer = new Timer(isDaemon);
}
/**
* MethodsTitle: 為定時器配置設定可執行任務
*/
public void schedule(Runnable task,TimeStep step){
Date time = step.next();
SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);
// 安排在指定的時間 time 執行指定的任務 timetask
timer.schedule(timeTask, time);
}
/**
* MethodsTitle: 重新執行任務
*/
private void reSchedule(Runnable task,TimeStep step){
Date time = step.next();
SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);
// 安排在指定的時間 time 執行指定的任務 timetask
timer.schedule(timeTask, time);
}
/**
* MethodsTitle: 停止目前定時器
*/
public void cancle(){
timer.cancel();
}
/**
* Title:停止目前定時器
*/
private class SchedulerTimerTask extends TimerTask{
private Runnable task;
private TimeStep step;
public SchedulerTimerTask(Runnable task,TimeStep step){
this.task = task;
this.step = step;
}
public void run() {
// 執行指定任務
task.run();
// 繼續重複執行任務
reSchedule(task, step);
}
}
}
package oa.epoint.com.watchFile;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/**
* Title: 檔案監控之定時器
*/
public class FileScheduler {
//定時器設定
private final Timer timer;
//構造方法
public FileScheduler(){
timer = new Timer();;
}
//設定守護線程
public FileScheduler(boolean isDaemon){
// 是否為守護線程
timer = new Timer(isDaemon);
}
/**
* MethodsTitle: 為定時器配置設定可執行任務
*/
public void schedule(Runnable task,TimeStep step){
Date time = step.next();
SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);
// 安排在指定的時間 time 執行指定的任務 timetask
timer.schedule(timeTask, time);
}
/**
* MethodsTitle: 重新執行任務
*/
private void reSchedule(Runnable task,TimeStep step){
Date time = step.next();
SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);
// 安排在指定的時間 time 執行指定的任務 timetask
timer.schedule(timeTask, time);
}
/**
* MethodsTitle: 停止目前定時器
*/
public void cancle(){
timer.cancel();
}
/**
* Title:停止目前定時器
*/
private class SchedulerTimerTask extends TimerTask{
private Runnable task;
private TimeStep step;
public SchedulerTimerTask(Runnable task,TimeStep step){
this.task = task;
this.step = step;
}
public void run() {
// 執行指定任務
task.run();
// 繼續重複執行任務
reSchedule(task, step);
}
}
}
package oa.epoint.com.watchFile;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/**
* Title: 檔案監控之定時器
*/
public class FileScheduler {
//定時器設定
private final Timer timer;
//構造方法
public FileScheduler(){
timer = new Timer();;
}
//設定守護線程
public FileScheduler(boolean isDaemon){
// 是否為守護線程
timer = new Timer(isDaemon);
}
/**
* MethodsTitle: 為定時器配置設定可執行任務
*/
public void schedule(Runnable task,TimeStep step){
Date time = step.next();
SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);
// 安排在指定的時間 time 執行指定的任務 timetask
timer.schedule(timeTask, time);
}
/**
* MethodsTitle: 重新執行任務
*/
private void reSchedule(Runnable task,TimeStep step){
Date time = step.next();
SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);
// 安排在指定的時間 time 執行指定的任務 timetask
timer.schedule(timeTask, time);
}
/**
* MethodsTitle: 停止目前定時器
*/
public void cancle(){
timer.cancel();
}
/**
* Title:停止目前定時器
*/
private class SchedulerTimerTask extends TimerTask{
private Runnable task;
private TimeStep step;
public SchedulerTimerTask(Runnable task,TimeStep step){
this.task = task;
this.step = step;
}
public void run() {
// 執行指定任務
task.run();
// 繼續重複執行任務
reSchedule(task, step);
}
}
}