日期:2014-05-20 浏览次数:21000 次
try {
//用进程执行1.bat
Process process = Runtime.getRuntime().exec("1.bat");
//当前的线程中断,直到process执行完毕
process.waitFor();
//用线程执行2.bat
process = Runtime.getRuntime().exec("2.bat");
process.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
------解决方案--------------------
你试试这么做
在1.bat文件最后加入一句dos命令:在C盘下创建一个文件“1.batFinish”
在java程序中,建一个线程。线程的功能是 1s钟一次监控C盘是否存在1.batFinish
所以
1.执行1.bat前先用java程序删除c:/1.batFinish
2.启动监控线程
3.运行1.bat
4.监控线程一旦发现存在1.batFinish 立即运行2.bat
------解决方案--------------------
你试试大概这么写
public void run(){
File f= new File("c:1.batFinish");
if(f.exists()){
f.delete();
}
Runtime.getRuntime().exec("2.bat");
while(true){
f= new File("c:1.batFinish");
if(f.exists()){
Runtime.getRuntime().exec("2.bat");
break;
}
TimeUnit.MICROSECONDS.sleep(1000);
}
}