外部プログラムの効果的な実行
Java アプリケーションから外部プログラムを実行しようとする場合、プログラムが正しく動作し、適切に対応します。あなたの場合、「program.exe」実行可能ファイルを実行し、それに 2 つのパラメータを渡すことを目的としていました。コードにはエラー通知がありませんが、プログラムが意図したアクションを実行していないことは明らかです。
提供されたソリューションは、「ProcessBuilder」の機能を活用して、外部プログラムの実行を開始します。このクラスを使用すると、完全なコマンドとそのパラメータを指定でき、実行されたプログラムによって生成された出力の読み取りのサポートが含まれています。
最適化されたコード:
<code class="java">Process process = new ProcessBuilder("C:\PathToExe\program.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); }</code>
この改訂されたコードにより、次のことが保証されます。外部プログラムは「ProcessBuilder」の「start()」メソッドを呼び出すことで実行されます。次に、「getInputStream」、「InputStreamReader」、および「BufferedReader」を使用して、実行されたプログラムによって生成された出力を収集して表示します。
以上がJava で外部プログラムを実行し、その出力を読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。