我有一个程序应该在c ++中打开一个不同的程序,它将返回0,1,2或3.作为测试,我做了一些示例代码:
public class Tester {
public static void main(String[] args) {
String[] command = {"c:\\Java Prog\\helloWorld.exe"};
ProcessBuilder proc = new ProcessBuilder(command);
System.out.println(proc);
}
}
C ++程序很简单:
#include <iostream>
using namespace std; // I know, I know, it's bad.
int main(void) {
return 2;
}
打印出来:
java.lang.ProcessBuilder@1db9742
我当时正在等待。但是,当我尝试将输出转换为int(或其他任何东西)时,编译器(Eclipse Mars)告诉我它无法从ProcessBuilder转换为[在此处插入您选择的任何变量类型]。
我做错了什么?我可以将输出格式化为int吗?如果没有,我该怎么办?提前致谢
答案 0 :(得分:0)
如何从Java中获取ProcessBuilder的int输出?
你不是。你可以从Process
获得它。
这里缺少一切。你甚至没有执行过程,更不用说做任何有关获得其回报价值的事情了。
你需要:
Process
。Process.exitValue()
。