「Java」 ProcessBuilder でバッチファイルを実行する
Web にたくさん情報ありますが、ProcessBuilder でバッチファイルを実行するサンプル。
ちょっとメモとして残しておきます。いろんな情報見る限り不完全な感じもしますが、とりあえずこんなところで。
■ ProcessBuilderTest.java
package process.builder; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class ProcessBuilderTest { public static void main(String[] args) { ProcessBuilderTest pbs = new ProcessBuilderTest(); ProcessBuilder pb = new ProcessBuilder("C:\\workspace44_2\\ZZZ\\cmd\\test.bat"); pb.redirectErrorStream(true); try { Process p = pb.start(); pbs.print(p.getInputStream()); p.waitFor(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } private void print(InputStream is) throws IOException { try (BufferedReader br = new BufferedReader(new InputStreamReader(is));) { String line; while ((line = br.readLine()) != null) { System.out.println(line); } } } }
■ test.bat
@echo off echo --- echo --- echo test echo ------------ echo; sleep 10 echo --- dir --- dir hoge echo ------------