如何检测从java程序执行外部.exe文件后是否存在运行时错误?

时间:2014-03-06 22:46:26

标签: java windows processbuilder

我正在使用java设计在线编译器。但我坚持定义现有编译器的运行时错误的条件。对于判断运行时错误我需要处理的情况应该是什么?

我使用ProcessBuilder和Process类来执行外部.exe文件。

1 个答案:

答案 0 :(得分:0)

Process类为您提供退出值Process.exitValue(),这对于成功通常为0,对于失败/错误通常为非零。根据您使用的编译器可能就足够了,或者您可能需要使用以下内容解析输出:

BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder builder = new StringBuilder();
String line = null;
while ( (line = br.readLine()) != null) {
   builder.append(line);
   builder.append(System.getProperty("line.separator"));
}
String result = builder.toString();

然后查看result以查找您的判决。

您可能还想查看process.getErrorStream()而不是getInputStream()