我正在使用java设计在线编译器。但我坚持定义现有编译器的运行时错误的条件。对于判断运行时错误我需要处理的情况应该是什么?
我使用ProcessBuilder和Process类来执行外部.exe文件。
答案 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()
。