在我的应用程序中我正在使用运行批处理文件的代码,在执行它时我得到一个例外,即当前线程不是所有者。 在这里我想提一下我的应用程序是基于eclipse插件开发的。 以下是我的代码,请看一下,找出有什么问题帮助我..
/*.......any code.........*/
try
{
Runtime runtime = Runtime.getRuntime();
String cmd = new String(C:\\abc.bat);
process = runtime.exec("\"" + cmd + "\"");
process.wait();
}
catch (Exception e)
{
e.printStackTrace();
}
/***********any code**************/
答案 0 :(得分:1)
wait是Object拥有的方法,要使用该方法,必须获取对象的锁,将代码更改为,
try
{
Runtime runtime = Runtime.getRuntime();
String cmd = new String(C:\\abc.bat);
process = runtime.exec("\"" + cmd + "\"");
synchronized (process){
try{
process.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
catch (Exception e)
{
e.printStackTrace();
}