`
mmdev
  • 浏览: 12952416 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

可执行文件启动器(上)

 
阅读更多
可执行文件启动器可以以一定的时间间隔反复执行外部某个可执行文件。
如果我们其用源代码生成的jar文件为:Launcher.jar。
则可以用如下的DOS命令运行它:
java -jar lib\Launcher.jar getProcessState.bat 5000
5000表示每隔5000毫秒执行一次getProcessState.bat文件
源码包含2个文件Worker.javaLauncher.java
Worker.java文件:
<wbr style="line-height:25px"></wbr>
package com.teleca.robin;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.swing.JLabel;
import javax.swing.JTextField;

public classWorkerextendsThread{
private boolean loop=true;
private boolean paused=false;
private int cnt=0;
final private JLabel consoleText;
Worker(JLabel lable)
{
consoleText=lable;
}
private long interval=1000;
void setInterval(long interval)
{
this.interval=interval;
}
private String executableFileName;
void setExecutableFileName(String file)
{
if(executableFileName!=null&&file!=null)
{
if(!executableFileName.equals(file))
cnt=0;
}
executableFileName=file;
}
publicvoid doPause()
{
paused=true;
}
public void doResume()
{
paused=false;
interrupt();
}
public void die()
{
loop=false;
}
public void run()
{
while(loop)
{
if(paused||executableFileName==null)
{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
}
}
else
{
BufferedReader stdout = null;
try {
Process p = null;
String line = null;
p = Runtime.getRuntime().exec(executableFileName, null, null);
stdout = new BufferedReader(new InputStreamReader(p
.getInputStream()));
while ((line = stdout.readLine()) != null) {
System.out.println(line);
}
stdout.close();
stdout=null;
} catch (IOException e) {
e.printStackTrace();
}finally{
if(stdout!=null)
try {
stdout.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
cnt++;
if(consoleText!=null)
consoleText.setText("Execute the file "+cnt+" times");
try {
Thread.sleep(interval);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
}
}
}
System.out.println("exit!");
}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics