我需要一種方式與具有來自我的Java應用程序的命令行界面的外部工具進行通信。是否有任何方便的工具/庫使它不那麼痛苦?相信我,我已經足夠了。謝謝!是否有任何Java工具與外部CLI進行通信?
回答
我已經結束了使用從IntelliJ IDEA的平臺API +的過程中處理(更具體地說,com.intellij.execution.process.OSProcessHandler)寫我自己的小型基於命令的框架,每個命令的已知,如何執行自己(寫入)並解析進程的響應(讀取)。
您可以使用Runtime.exec()
來執行操作系統的外部命令。但請注意,使用它的一些小問題 - 請務必首先閱讀article。
如果這對您的需求太簡單了,請看ProcessBuilder。它的問世,因爲Java 1.5中,從release notes:
新的ProcessBuilder類提供了更方便的方式來調用子進程不是做的Runtime.exec。特別是,ProcessBuilder使用修改的流程環境(即基於父流程環境的流程環境,但有一些更改)啓動子流程變得容易。
謝謝,但我通過'Runtime.exec()' – 2012-04-14 18:44:56
@AlexanderEliseyev我更新了我的答案與另一個更好的替代方案 – 2012-04-14 18:53:18
我需要一種方式**與進程通信**,而不是啓動它。我需要一個工具來緩解處理請求/響應時與外部CLI交談。 – 2012-04-14 19:01:03
- 1. 是否有任何Java壓縮工具
- 2. Java(ajax)與外部PHP(VS中的Cordova)進行通信
- 3. 如何通過Safari擴展與外部世界進行通信?
- 4. Elixir/Erlang:與外部進程通信
- 5. iPhone:如何與外部設備進行通信?
- 6. 允許外部用戶與內部服務進行通信
- 7. CAS通過REST與外部用戶存儲進行通信
- 8. 是否可以通過subprocess.Popen與子子進程進行通信?
- 9. 在Ubuntu中有沒有任何命令行工具與我的瀏覽器進行通信?
- 10. 是否有任何此測試工具
- 11. Haskell是否有任何ORM工具?
- 12. 是否有任何VB6性能工具?
- 13. 是否有任何工具像MaintainJ IntelliJ
- 14. Worklight API中是否有任何應用程序間通信工具?
- 15. SonarQube以外是否有任何質量管理工具?
- 16. 是否可以通過串行bt橋與iPhone進行通信?
- 17. 是否有任何輕量級Java Message Queue用於後端進程通信?
- 18. 是否有任何工具可以私下顯示客戶工作進度,並與開發者進行討論?
- 19. python並行循環:與外部通信
- 20. 是否有可能使Netlogo與L系統工作室進行通信?
- 21. 在沒有外部工具的情況下在java中記錄HTTP通信
- 22. 是否有任何AWS工具與Heroku Scheduler執行相同的工作?
- 23. 是否有任何測試和部署RAML 1.0的工具?
- 24. 是否有任何工具來模擬java中的http請求
- 25. 使用外部JMS與Weblogic進行MQ TLS通信
- 26. ApplicationError2和ApplicationError5與AppEngine的外部API進行通信
- 27. Unity 5 WebGL:使用C#與外部JavaScript進行通信
- 28. 是否有任何工具可以將託管C++轉換爲C++/CLI?
- 29. 是否有任何工具幫助與TFS同步目錄?
- 30. 是否有任何與Rails模型集成的ETL工具?
http://stackoverflow.com/questions/2417495/java-cli-ui-design-frameworks-or-libraries。互聯網搜索「Java shell」將產生一些可能性。用於嵌入的純CLI也可以從這些項目中提取。 – 2012-04-14 18:44:23
@JoopEggen我不認爲這就是OP所需要的,他需要與外部CLI工具進行通信,而不是實施CLI – 2012-04-14 18:54:51
http://stackoverflow.com/questions/3343066/reading-streams-from-java-運行時執行 – cherit 2012-10-21 04:56:53