私はコンソールのJavaアプリケーションを作っています。ここでは、Macintosh/Ubuntu/Windowsコマンドプロンプトのターミナルのようなコンソールコマンドを入力してログに出力します。システムログ(ターミナル)のフル出力の取得
system/consoleコマンドを実行すると、そのコマンドからどのように結果/ログが得られるのでしょうか?
注:リテラルコード+説明をお願いします。
私はコンソールのJavaアプリケーションを作っています。ここでは、Macintosh/Ubuntu/Windowsコマンドプロンプトのターミナルのようなコンソールコマンドを入力してログに出力します。システムログ(ターミナル)のフル出力の取得
system/consoleコマンドを実行すると、そのコマンドからどのように結果/ログが得られるのでしょうか?
注:リテラルコード+説明をお願いします。
これを行うにはいくつかの方法がありますが、最も簡単な方法はthis exampleです(またはバリアント)。
Process child = Runtime.getRuntime().exec(command);
InputStream in = child.getInputStream();
あなたが内部コマンドを持っている場合は、Commons IO TeeOutputStreamのようなものを考え、二つの場所に行きたいと思います。
上記の手法を組み合わせて、内部コマンドか外部コマンドかにかかわらず、コンソールと「シャドウ」ログファイルの両方にすべての出力を得ることができます。
それは動作しません。 "EventDispatchThreadを作成します。 –
@GrayAdamsあなたのコメントが分かりません、ごめんなさい。 –
あなたは:標準出力のようですか? –
'System.out.println(results)'の何が問題なのですか? – mishadoff
@Mishadoff例では? –