执行windows命令行命令后,如何在Java中获取返回码

Ada*_*dam 7 java

我正在用Java做这样的事情

Process p = Runtime.getRuntime().exec("ping -n 1 -w 100 127.0.0.1")
Run Code Online (Sandbox Code Playgroud)

我怎么能读取windows exec代码?我已经知道如何从命令中读取命令行输出,但如果我只想让0或1告诉我它是成功还是失败怎么办?

hmj*_*mjd 6

使用Process.exitValue()方法.如果进程尚未退出并重试,则需要处理抛出的异常.

或者,您可以使用Process.waitFor()等待进程结束,它也将返回进程退出值(感谢increment1).


Sam*_*erg 5

下一行代码:

int returnCode = p.waitFor();
Run Code Online (Sandbox Code Playgroud)

这将阻止,直到过程完成.如果您不想阻止,也可以使用Process.exitValue()方法.请参阅Java6 Process class API doc