「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 外部プログラムを効果的に実行し、その出力を Java で取得するにはどうすればよいですか?

外部プログラムを効果的に実行し、その出力を Java で取得するにはどうすればよいですか?

2024 年 11 月 15 日に公開
ブラウズ:954

How can I effectively execute external programs and retrieve their output in Java?

Java での外部プログラムの実行

Java プログラムで、Runtime.exec( ) 方法。エラーは発生しませんが、プログラムは効果がないようです。

提供されたコードは、Runtime.exec(params) メソッドを利用して外部プログラムを開始します。ただし、このメソッドには、Java プログラムと外部プロセス間の入出力データの処理に制限があります。

外部プログラムと効果的に対話し、その出力を取得するには、ProcessBuilder クラスを利用できます。次に、特定のパラメーターを使用して "program.exe" プログラムを実行する方法を示す例を示します。

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);
}

このコードでは、必要なパラメーターを指定して ProcessBuilder インスタンスを作成します。 start() メソッドは、外部プログラムを開始するために使用されます。次に、InputStream を使用してプログラムの出力を読み取り、InputStreamReader を使用して文字に変換し、最後に行ごとの処理を容易にするために BufferedReader に保存します。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3