2012-04-14 11 views
3

Javaアプリケーションのコマンドラインインターフェイスを持つ外部ツールと通信する方法が必要です。より苦痛を少なくするための便利なツール/ libはありますか?私を信じて、私は十分にgoogledした。ありがとうございました!外部CLIと通信するJavaツールはありますか?

+0

http://stackoverflow.com/questions/2417495/java-cli-ui-design-frameworks-or-libraries。 "Java shell"のインターネット検索は、いくつかの可能性をもたらすでしょう。これらのプロジェクトから埋め込みのための純粋なCLIを抽出することもできます。 –

+0

@JoopEggen私はそれがOPが望んでいるとは思わない、彼はCLIを実装するためではなく、外部のCLIツールと通信する必要がある –

+1

http://stackoverflow.com/questions/3343066/reading-streams-from-java-ランタイムエグゼクティブ – cherit

答えて

0

それ自身を実行し(書き込み)、プロセスからの応答を解析します(読み取り)。

3

Runtime.exec()をオペレーティングシステムの外部コマンドの実行に使用できます。しかし、それを使用することの悩みを知っておいてください - これは必ずarticleをお読みください。

それがあなたのニーズにあまりにも単純すぎる場合は、ProcessBuilderをご覧ください。それはrelease notesから、Javaの1.5以降で利用可能です:

新しいProcessBuilderをクラスでは、Runtime.execのを行うよりも、サブプロセスを起動するために、より便利な方法を提供します。特に、ProcessBuilderは、変更されたプロセス環境(つまり、親のプロセス環境に基づいているが少し変更が加えられている)でサブプロセスを開始することを容易にします。私は、各コマンドknownsどのように私自身の小さなコマンドベースのフレームワークを書くのIntelliJ IDEAプラットフォームAPI +から処理ハンドラ(具体的には、com.intellij.execution.process.OSProcessHandler)を使用して終了しました

+0

ありがとうございます。私は 'Runtime.exec()'を過ぎています –

+0

@AlexanderEliseyev私は別のよりよい代替案で自分の答えを更新しました –

+0

私はプロセスと通信するための方法が必要です。 。私は、外部CLIと話している間に要求/応答の処理を容易にするためのツールが必要です。 –

関連する問題