私は Runtime.getRuntime() をいじっていますが、それが本当に欲しいものだとは思いません。
ユーザー入力と stdout への出力の両方を備えたものが必要です。基本的には、個別のプログラム全体を立ち上げたいと思います。
グレー
私は Runtime.getRuntime() をいじっていますが、それが本当に欲しいものだとは思いません。
ユーザー入力と stdout への出力の両方を備えたものが必要です。基本的には、個別のプログラム全体を立ち上げたいと思います。
グレー
これを行う:
Process process = Runtime.exec( "somecommand.exeorwhatever" );
完全に別のプロセスを実行します。次に、次を使用できます。
InputStream in = process.getInputStream();
InputStream err = process.getErrorStream();
OutputStream out= process.getOutputStream();
ProcessBuilder.start()メソッドで作成されたProcessを使用し、その入力および出力ストリームを使用できます。
簡単な例を次に示します。
public static void main(String[] args) throws Exception {
String[] processArgs = new String[]{"ping","google.com"};
Process process = new ProcessBuilder(processArgs).start();
BufferedReader in = new BufferedReader(new InputStreamReader(
//I'am using Win7 with PL encoding in console -> "CP852"
process.getInputStream(), "CP852"));
String line;
while ((line = in.readLine()) != null)
System.out.println(line);
in.close();
System.out.println("process ended");
}