0

残念ながら、特定の整合性の理由で変更できないコマンドラインJavaプログラムがあります。このプログラムにGUIを提供していますが、プログラムが印刷されるときにプロセスの完了に関する通知をユーザーに提供できないことを除いて、すべてカバーされていますSystem.out.println() を使用してデータをコマンド ラインに変換します。ネット Bean を使用して UI を設計し、それは別のファイルにあるので、どうすればこれを行うことができますか..?

4

1 に答える 1

3

プログラムの実行にRuntime.execを使用していますか? 次に、次のように出力ストリームも取得できます。

Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("java yourOtherProgram.jar");
InputStream stdin = proc.getInputStream();

メソッドを直接呼び出す場合は、次のように System.out をリダイレクトできます。

PrintStream out = ...;
PrintStream err = ...;

System.setOut(out);
System.setErr(err);

ThatOtherProgram foo = new ThatOtherProgram();
foo.main(new String[0]);

編集

その後、スキャナーを使用して入力をスキャンし、それに対して何かを行うことができます。

于 2012-08-06T15:31:29.430 に答える