Rumah  >  Artikel  >  Java  >  Bagaimana untuk Melaksanakan Program Luaran dan Membaca Outputnya di Java?

Bagaimana untuk Melaksanakan Program Luaran dan Membaca Outputnya di Java?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 15:37:02196semak imbas

How to Execute External Programs and Read Their Output in Java?

Melaksanakan Program Luaran Dengan Berkesan

Apabila cuba melaksanakan program luaran daripada aplikasi Java, adalah penting untuk memastikan program tersebut beroperasi dengan betul dan bertindak balas dengan sewajarnya. Dalam kes anda, anda bertujuan untuk melaksanakan "program.exe" boleh laku dan lulus dua parameter kepadanya. Walaupun kod anda tidak mempunyai sebarang pemberitahuan ralat, ternyata program itu tidak melakukan tindakan yang dimaksudkan.

Penyelesaian yang disediakan memanfaatkan kefungsian "ProcessBuilder" untuk memulakan pelaksanaan program luaran. Kelas ini membolehkan anda menentukan perintah lengkap dan parameternya, dan termasuk sokongan untuk membaca output yang dijana oleh program yang dilaksanakan.

Kod yang dioptimumkan:

<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>

Kod yang disemak ini memastikan bahawa program luaran dilaksanakan dengan menggunakan kaedah "start()" bagi "ProcessBuilder." Ia kemudiannya meneruskan untuk mengumpulkan dan memaparkan sebarang output yang dihasilkan oleh program yang dilaksanakan melalui penggunaan "getInputStream," "InputStreamReader," dan "BufferedReader."

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Program Luaran dan Membaca Outputnya di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn