我有一個小的可執行程序在C中產生大量輸出到文件。 當我把這個程序與運行,像這樣:運行時執行意外停止
Runtime r = Runtime.getRuntime();
Process p = null;
p = r.exec("./my_program -in input.file -out output.file", null, new File(System.getProperty("java.io.tmpdir")));
當程序產生低輸出一切正常,但是當我打電話「* MY-*」具有大的輸入就會產生輸出量大到output.file,但在這種情況下,我的程序在Java凍結,並沒有發生...
我在終端測試「* my_program *」大量輸入和一切都好,但是當我打電話給使用Runtime.exec編寫Java程序,Java程序凍結。
- 預先感謝
本文有點舊,但仍包含相關信息:[Runtime Exec will not](http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps。 HTML)。另外,你的應用程序是一個Swing應用程序嗎?可執行程序是否最終完成? –
Runtime.exec本質上是一個管道連接,您必須準備好處理多個緩衝區信息。這是十幾條線路來做正確的。 –
不,我的應用程序是一個Eclipse插件。我不這麼認爲,因爲我使用相同的輸入測試了相同的C程序,但是在終端運行並且工作正常... – josecampos