Java プログラムで、Runtime.exec( ) 方法。エラーは発生しませんが、プログラムは無効であるように見えます。
提供されたコードは、Runtime.exec(params) メソッドを利用して外部プログラムを開始します。ただし、このメソッドには、Java プログラムと外部プロセス間の入出力データの処理に制限があります。
外部プログラムと効果的に対話し、その出力を取得するには、ProcessBuilder クラスを利用できます。以下に、特定のパラメーターを使用して「program.exe」プログラムを実行する方法を示す例を示します。
<code class="java">ProcessBuilder processBuilder = new ProcessBuilder("C:\Users\user\Desktop\program.exe", "C:\Users\user\Desktop\images.jpg", "C:\Users\user\Desktop\images2.txt"); Process process = processBuilder.start(); InputStream inputStream = process.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String line; System.out.println("Output of running program.exe with parameters:"); while ((line = bufferedReader.readLine()) != null) { System.out.println(line); }</code>
このコードでは、必要なパラメーターを使用して ProcessBuilder インスタンスを作成します。 start() メソッドは、外部プログラムを開始するために使用されます。次に、InputStream を使用してプログラムの出力を読み取り、InputStreamReader を使用して文字に変換し、最後に行ごとの処理を容易にするために BufferedReader に保存します。
以上が外部プログラムを効果的に実行し、その出力を Java で取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。