2013-04-11 149 views
0

我正在研究一個需要我使用Process類運行scala實例的項目。爲此,我執行以下代碼:Java:寫入Scala輸出流

Process process = RunTime.getRunTime().exec("<path to scala binary> <scala file>"); 

此調用爲我提供了一個正在執行的scala程序代表。我能夠從過程與訪問過程的輸入流和接收輸入:

BufferedReader stdin = new BufferedReader(new InputStreamReader(process.getInputStream())); 
stdin.readLine(); 

Scala的程序,我試圖運行涉及其拾取輸入並打印出來的掃描儀。當我嘗試註冊的BufferedWriter到從process.getOutputStream()產生使用OutputStreamWriter,然後寫入與流:

stdout.write("Hello"); 

Scala的程序不接收此輸入,我想知道:爲什麼這是否會發生?

+1

你是否正在刷新輸入('stdout.flush()')? – 2013-04-11 09:06:08

+0

這是問題,謝謝! – 2013-04-11 09:39:38

回答

2

原來我忘記沖洗流。