用java运行外部程序

用java运行外部程序,java,Java,如果我正在从java运行外部程序(批处理文件),那么我需要做什么: if (process.exitValue() == 0) {//means executed successfully ??? 返回值不能是其他值并且批处理执行成功 这是唯一的检查方法吗?我对你的措辞有点困惑,但按照惯例,[exitValue()](成功执行后返回0),据我所知,这是唯一的检查方法 编辑: 我想您可以使用[getErrorStream()](-我假设如果过程中没有错误,它将是空的…您可以读取(或错误流)并解释

如果我正在从java运行外部程序(批处理文件),那么我需要做什么:

if (process.exitValue() == 0) {//means executed successfully ???
返回值不能是其他值并且批处理执行成功


这是唯一的检查方法吗?我对你的措辞有点困惑,但按照惯例,[
exitValue()
](成功执行后返回
0
),据我所知,这是唯一的检查方法

编辑


我想您可以使用[
getErrorStream()
](-我假设如果过程中没有错误,它将是空的…

您可以读取(或错误流)并解释它

批处理的退出代码将由该流程定义,但通常退出代码0被定义为成功,非零值表示出错。在批处理文件中,您可以通过调用以下命令来设置返回代码:

EXIT /B %ERROR_CODE%

%ERROR\u code%
是将作为退出代码返回的数字。

在Linux上,从中选择一个,您的程序可以返回您想要的任何状态。按照约定,0表示成功


例如,如果执行shell脚本,返回状态将是脚本中最后执行的命令的返回状态。

在许多程序中,0表示成功,负数表示错误,正数表示警告。当然,这只是一种约定,完全取决于遵循的约定。在大多数编程中语言您可以为一个程序定义一个退出代码,这就是所选择的

在Java System.exit中(n)
在C语言中,main被定义为int main(int argc,char*argv[]),main的返回是程序的返回