我想從java運行C++ .exe文件,並且還想打印.exe file.i的輸出嘗試併成功從java運行C++ .exe文件,但是我沒有得到我怎樣才能使用Java打印C++ .exe文件的輸出(在Java輸出場),我試圖使用processExitValue和WAITFOR方法,但沒有得到期望的output.The java代碼是這裏在java中打印C++ .exe文件的輸出
int processExitVal = 0;
try {
Process p = Runtime.getRuntime().exec("cmd /c start rs.exe");
processExitVal = p.waitFor();
// p.getOutputStream();
//InputStreamReader ir=new InputStreamReader(p.getInputStream());
//BufferedReader t = new BufferedReader((new InputStreamReader(p.getInputStream())));
// int y=Integer.parseInt(t.readLine());
InputStream in=p.getInputStream();
System.out.println(in.read());
//System.out.println("output"+Process.getOutputStream());
} catch (IOException e) {
System.out.println("IOException");
e.printStackTrace();
} catch (InterruptedException e) {
System.out.println("InterruptedException");
e.printStackTrace();
}
System.out.println(processExitVal);
System.out.println("Execution complete");
}
我將感謝如果你能幫我解決這個問題。在此先感謝
甲開始與'getOutputStream'取代'getInputStream'。 – Deestan
'getInputStream'應該沒問題 – displayname
閱讀(並實現)*所有的*當[Runtime.exec()將不會](http://www.javaworld.com/jw-12-2000/jw-1229 -traps.html)。這可能會解決問題。如果不是,它應該提供更多關於失敗原因的信息。然後忽略它引用'exec'並使用'ProcessBuilder'構建'Process'。還要將'String arg'分解爲'String [] args'來解釋其本身包含空格的參數。 –