我有下面的代码:
Process p = Runtime.getRuntime().exec(args);我希望我的程序等待Runtime.getRuntime().exec(args);结束,因为它会持续2-3秒,然后继续。
想法?
发布于 2010-04-01 17:42:17
下面是一个示例代码:
Process proc = Runtime.getRuntime().exec(ANonJava.exe@);
InputStream in = proc.getInputStream();
byte buff[] = new byte[1024];
int cbRead;
try {
while ((cbRead = in.read(buff)) != -1) {
// Use the output of the process...
}
} catch (IOException e) {
// Insert code to handle exceptions that occur
// when reading the process output
}
// No more output was available from the process, so...
// Ensure that the process completes
try {
proc.waitFor();
} catch (InterruptedException) {
// Handle exception that could occur when waiting
// for a spawned process to terminate
}
// Then examine the process exit code
if (proc.exitValue() == 1) {
// Use the exit value...
}你可以在这个网站上找到更多信息:http://docs.rinet.ru/JWP/ch14.htm
发布于 2010-04-01 17:40:47
使用Process.waitFor()
Process p = Runtime.getRuntime().exec(args);
int status = p.waitFor();来自JavaDoc:
如果有必要,
会使当前线程等待,直到该process对象所代表的进程终止。如果子进程已经终止,此方法将立即返回。如果子进程尚未终止,则调用线程将被阻塞,直到子进程退出。
https://stackoverflow.com/questions/2559430
复制相似问题