2

Javaで新しいコンソールウィンドウを開こうとしていますが、それを参照するコンソールオブジェクトがあります。次のコードがWindowsでコンソールを開くことを知っています。

Process p = Runtime.getRuntime().exec("cmd /c start cmd.exe");
p.waitFor();

Console cons = ...上記と組み合わせて、コンソールオブジェクトが開いたばかりの新しいオブジェクトを参照するようにする方法はありますか?それとも私はこれを完全に間違って行っていますか?より良い方法がありますか?

4

1 に答える 1

4

ConsoleJava のオブジェクトが表すものを誤解しています。Javadocから:

現在の Java 仮想マシンに関連付けられている文字ベースのコンソール デバイスにアクセスするためのメソッド (存在する場合)。

これは、JVM プロセスに関連付けられたコンソール デバイスを表し、存在することは保証されていません。Java プロセスから起動されたシステム コンソールとやり取りする場合は、その入力ストリームと出力ストリームを介して行う必要があります。

于 2013-01-28T20:34:57.973 に答える