这是网上搜到跟着写的部分代码片段,执行成功,但是cpp文件并没有编译生成exe执行文件,
将语句改为 ProcessBuilder pb = new ProcessBuilder().command("D:\Dev-C\MinGW32\bin\g++.exe","-v");是有输出版本信息的
BufferedReader br = null;
try {
File file = new File("D:\\C++\\temp.tmp");//新建一个用来存储结果的缓存文件
if(!file.exists()) {
file.createNewFile();
}
ProcessBuilder pb = new ProcessBuilder().command("D:\\Dev-C\\MinGW32\\bin\\g++.exe","d:\\C++\\hello.cpp");
pb.redirectErrorStream(true);
pb.redirectOutput(file);//把执行结果输出。
pb.start().waitFor();//等待语句执行完成,否则可能会读不到结果。
InputStream in = new FileInputStream(file);
br= new BufferedReader(new InputStreamReader(in));
String line = null;
while((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
br = null;
file.delete();
} catch (Exception e) {
e.printStackTrace();
}
想问问各位,有可能是哪里出了问题?