使用Java基础定时执行程序
我们在项目中,经常会碰到这样一种需求,就是让某个程序在某个固定的时间去运行,比如定时备份操作。在Java的J2SE的API中可以很容易做到这一点。
让我们需要定时执行的类继承自java.util.TimerTask中的TimerTask类,把需要执行的方法放入run方法中:
1
import
java.util.TimerTask;
2
3
public
class
MyTimerTask
extends
TimerTask {
4
5
@Override
6
public
void
run() {
7
System.out.println(
"
备份程序运行……
"
);
8
}
9
10
}
11
然后我们是java.util.Timer类来执行这个方法,测试类:
1
import
java.util.Timer;
2
3
public
class
Test {
4
5
public
static
void
main(String[] args) {
6
Timer timer
=
new
Timer();
7
timer.schedule(
new
MyTimerTask(),
1000
);
8
9
}
10
11
}
12
我们看到控制台输出:
备份程序运行…… 那么我们想让这个程序每隔五秒钟运行一次呢,可以这样来做:
1 timer.schedule( new MyTimerTask(), 0 , 5000 );
我们传入的第二个参数是方法首次执行时间,第三个参数是方法执行的间隔时间,我们可以在控制台看到:
备份程序运行……
备份程序运行……
备份程序运行……
备份程序运行……
当然我们也可以使用Date来实现定时操作:
1 Timer timer
=
new
Timer();
2
Date date
=
new
Date(
107
,
05
,
21
,
00
,
01
,
10
);
3
timer.schedule(
new
MyTimerTask(),date,
5000
);