0

Java アプリからシェル コマンドを実行する方法を知っています。次のようになります。

String command = "java -version";
Process proc = null;
try {
  proc = Runtime.getRuntime().exec(command);
}
catch (IOException e) {
System.out.print(e);
}

このコマンドの出力をJavaアプリに戻したいのですが、出力を一時ファイルに出力せずに、アプリから読み取ります。これは可能ですか?

4

1 に答える 1

3

ProcessBuilder を使用する必要があります

Process process = new ProcessBuilder(
"C:\\PathToExe\\exe.exe","param1","param2").start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;

System.out.printf("Output of running %s is:", Arrays.toString(args));

while ((line = br.readLine()) != null) {
  System.out.println(line);
}

stackoverflow で既に見つかっているコード Java で外部プログラムを実行する

于 2013-10-16T12:25:25.013 に答える