創建進程並讀取進程的輸入流。
(Javadoc中)的getInputStream()
獲得子進程的輸入流。流獲取從此Process對象表示的進程的標準輸出流中傳送的數據。
//-->check command line<--
Process process = Runtime.getRuntime().exec("/usr/bin/php /home/amit/hello.php");
BufferedInputStream iStream = new BufferedInputStream(process.getInputStream());
BufferedOutputStream oStream = new BufferedOutputStream(process.getOutputStream());
byte[] buffer = new byte[1024];
while (true){
int length = iStream.read(buffer);
if(length == -1)
break;
System.out.println(new String(buffer, 0, length));
}
注:已經寫入Linux。
一般提示:1)閱讀(並實現)*所有*的建議[當Runtime.exec()不會](http://www.javaworld.com/jw-12-2000/ JW-1229-traps.html)。這可能會解決問題。如果不是,它應該提供更多關於失敗原因的信息。然後忽略它引用'exec'並使用'ProcessBuilder'構建'Process'。還要將'String arg'分解爲'String [] args'來解釋其本身包含空格的參數。 2)提出問題。 –
@AndrewThompson如果腳本要求更多的輸入,我會怎麼做? – junyi00
不確定那個,但看看'Process'提供的I/O流。 –