Javaでオペレーティングシステムコマンドを実行してから、その戻り値を出力したいと思います。このような:
これが私が試していることです...
String location_of_my_exe_and_some_parameters = "c:\\blabla.exe /hello -hi";
Runtime.getRuntime().exec(location_of_my_exe_and_some_parameters);
ランタイム...行の先頭にSystem.out.print()を配置しようとしましたが、失敗しました。どうやら、オブジェクトをgetRuntime()
返すからRuntime
です。
ここで、問題は、コマンドラインで「blabla.exe / hello -hi」コマンドを実行すると、「コマンドを実行しました、万歳!」のような結果が得られることです。しかし、Javaでは何も得られませんでした。
Runtime
戻り値をオブジェクト、オブジェクトに入れてみましたObject
。しかし、両方とも失敗しました。どうすればこれを達成できますか?
問題は解決しました-これが私の解決策です
Process process = new ProcessBuilder(location, args).start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}