0
我有我的代碼如下。我試圖運行我的ruby腳本並獲取標準,在這種情況下我並不需要標準錯誤。出於某種原因,我在生產主機中根本無法獲得任何輸出,而我只能獲得空字符串。相同的代碼在我的桌面上工作正常。如果我自己運行我的ruby腳本,我可以從中獲得輸出。我的ruby腳本現在只有一個put語句。任何人都知道原因?是否需要某種程序塊才能等待ruby腳本完成?Java運行進程無法取得標準輸出
ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command("ruby", "tests.rb");
Process process = processBuilder.start();
BufferedReader bufferReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder output = new StringBuilder();
String line;
while ((line = bufferReader.readLine()) != null) {
System.out.println("Line is: " + line);
output.append(line + "\n");
}
bufferReader.close();
return output.toString();
我有運行zsh的redhat機器。
你的腳本是否發送任何新的行字符?我也建議你嘗試看看這個[示例](http://stackoverflow.com/questions/15101387/how-could-i-execute-a-jar-from-another-program-and-display- the-results-in-anothe/15104408#15104408)的想法... – MadProgrammer 2013-02-27 23:37:18