Java定时重复执行程序
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
import
java.io.
*
;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
import
java.util.
*
;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
import
java.util.Timer;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
import
java.util.TimerTask;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
public
class
ScheduleRun
…
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
Timer timer;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
public
ScheduleRun(
int
delaytime)
…
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
timer
=
new
Timer();
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
timer.schedule(
new
ScheduleRunTask(),
0
,delaytime
*
60
*
1000
);
//
推迟0秒执行, 间隔delaytime分钟重复运行.
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//
timer.schedule(new ScheduleRunTask(),delaytime * 1000);
//
推迟delaytime 秒后执行(只执行一次)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
public
void
stop()
…
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
timer.cancel();
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
class
ScheduleRunTask
extends
TimerTask
…
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
int
numRunnings
=
5
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
public
void
runbat(
int
timeFortmat)
…
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
String cmd
=
”
cmd /c start D:/ScheduleRun/data/
”
+
timeFortmat
+
”
.bat
”
;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
try
…
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
Process ps
=
Runtime.getRuntime().exec(cmd);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
System.out.println(ps.getInputStream());
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
}
catch
(IOException ioe)
…
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
ioe.printStackTrace();
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
public
void
run()
…
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
if
(numRunnings
>
0
)
…
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
System.out.println(
”
running…..
”
);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
runbat(
1340
);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
numRunnings
—
;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
else
…
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
System.out.println(
”
Task Finish!
”
);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
timer.cancel();
//
Stop timer and we also can call System.exit
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//
System.exit(0);
//
Stops everything
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
public
static
void
main(String[] args)
…
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
new
ScheduleRun(
5
);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
版权声明:本文为leoyao2006原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。