2012-04-14 75 views
3

我需要一種方式與具有來自我的Java應用程序的命令行界面的外部工具進行通信。是否有任何方便的工具/庫使它不那麼痛苦?相信我,我已經足夠了。謝謝!是否有任何Java工具與外部CLI進行通信?

+0

http://stackoverflow.com/questions/2417495/java-cli-ui-design-frameworks-or-libraries。互聯網搜索「Java shell」將產生一些可能性。用於嵌入的純CLI也可以從這些項目中提取。 – 2012-04-14 18:44:23

+0

@JoopEggen我不認爲這就是OP所需要的,他需要與外部CLI工具進行通信,而不是實施CLI – 2012-04-14 18:54:51

+1

http://stackoverflow.com/questions/3343066/reading-streams-from-java-運行時執行 – cherit 2012-10-21 04:56:53

回答

0

我已經結束了使用從IntelliJ IDEA的平臺API +的過程中處理(更具體地說,com.intellij.execution.process.OSProcessHandler)寫我自己的小型基於命令的框架,每個命令的已知,如何執行自己(寫入)並解析進程的響應(讀取)。

3

您可以使用Runtime.exec()來執行操作系統的外部命令。但請注意,使用它的一些小問題 - 請務必首先閱讀article

如果這對您的需求太簡單了,請看ProcessBuilder。它的問世,因爲Java 1.5中,從release notes

新的ProcessBuilder類提供了更方便的方式來調用子進程不是做的Runtime.exec。特別是,ProcessBuilder使用修改的流程環境(即基於父流程環境的流程環境,但有一些更改)啓動子流程變得容易。

+0

謝謝,但我通過'Runtime.exec()' – 2012-04-14 18:44:56

+0

@AlexanderEliseyev我更新了我的答案與另一個更好的替代方案 – 2012-04-14 18:53:18

+0

我需要一種方式**與進程通信**,而不是啓動它。我需要一個工具來緩解處理請求/響應時與外部CLI交談。 – 2012-04-14 19:01:03

相關問題