import java.io.*;
import java.util.*;
import java.util.Timer;
import java.util.TimerTask;


public class ScheduleRun ...{
Timer timer;

public ScheduleRun(int delaytime)...{
timer = new Timer();
timer.schedule(new ScheduleRunTask(),0,delaytime * 60 * 1000); //推迟0秒执行, 间隔delaytime分钟重复运行.
//timer.schedule(new ScheduleRunTask(),delaytime * 1000); //推迟delaytime 秒后执行(只执行一次)
}

public void stop()...{
timer.cancel();
}

class ScheduleRunTask extends TimerTask...{
int numRunnings = 5

public void runbat(int timeFortmat)...{
String cmd = "cmd /c start D:/ScheduleRun/data/"+timeFortmat+".bat";

try...{
Process ps = Runtime.getRuntime().exec(cmd);
System.out.println(ps.getInputStream());

} catch(IOException ioe)...{
ioe.printStackTrace();
}
}

public void run() ...{

if(numRunnings>0)...{
System.out.println("running.....");
runbat(1340);
numRunnings--;
}

else...{
System.out.println("Task Finish!");
timer.cancel(); //Stop timer and we also can call System.exit
//System.exit(0); //Stops everything
}
}
}

public static void main(String[] args)...{
new ScheduleRun(5);
}
}
import java.util.*;
import java.util.Timer;
import java.util.TimerTask;

public class ScheduleRun ...{
Timer timer;
public ScheduleRun(int delaytime)...{
timer = new Timer();
timer.schedule(new ScheduleRunTask(),0,delaytime * 60 * 1000); //推迟0秒执行, 间隔delaytime分钟重复运行.
//timer.schedule(new ScheduleRunTask(),delaytime * 1000); //推迟delaytime 秒后执行(只执行一次)
}
public void stop()...{
timer.cancel();
}

class ScheduleRunTask extends TimerTask...{
int numRunnings = 5

public void runbat(int timeFortmat)...{
String cmd = "cmd /c start D:/ScheduleRun/data/"+timeFortmat+".bat";
try...{
Process ps = Runtime.getRuntime().exec(cmd);
System.out.println(ps.getInputStream());
} catch(IOException ioe)...{
ioe.printStackTrace();
}
}

public void run() ...{
if(numRunnings>0)...{
System.out.println("running.....");
runbat(1340);
numRunnings--;
}
else...{
System.out.println("Task Finish!");
timer.cancel(); //Stop timer and we also can call System.exit
//System.exit(0); //Stops everything
}
}
}

public static void main(String[] args)...{
new ScheduleRun(5);
}
}
本文介绍了一个使用Java实现的定时任务程序,该程序能够按照指定的时间间隔执行批处理(.bat)文件。通过继承`TimerTask`并利用`Timer`类进行调度,实现了周期性的任务执行,并展示了如何调用外部bat文件。

497

被折叠的 条评论
为什么被折叠?



