2011-11-13 10 views
1

私はコンソールのJavaアプリケーションを作っています。ここでは、Macintosh/Ubuntu/Windowsコマンドプロンプトのターミナルのようなコンソールコマンドを入力してログに出力します。システムログ(ターミナル)のフル出力の取得

system/consoleコマンドを実行すると、そのコマンドからどのように結果/ログが得られるのでしょうか?

注:リテラルコード+説明をお願いします。

+0

あなたは:標準出力のようですか? –

+0

'System.out.println(results)'の何が問題なのですか? – mishadoff

+0

@Mishadoff例では? –

答えて

0

これを行うにはいくつかの方法がありますが、最も簡単な方法はthis exampleです(またはバリアント)。

Process child = Runtime.getRuntime().exec(command); 
InputStream in = child.getInputStream(); 

あなたが内部コマンドを持っている場合は、Commons IO TeeOutputStreamのようなものを考え、二つの場所に行きたいと思います。

上記の手法を組み合わせて、内部コマンドか外部コマンドかにかかわらず、コンソールと「シャドウ」ログファイルの両方にすべての出力を得ることができます。

+0

それは動作しません。 "EventDispatchThreadを作成します。 –

+0

@GrayAdamsあなたのコメントが分かりません、ごめんなさい。 –

関連する問題