Rumah  >  Artikel  >  Java  >  Bagaimanakah saya boleh melaksanakan program luaran dengan berkesan dan mendapatkan semula keluarannya dalam Java?

Bagaimanakah saya boleh melaksanakan program luaran dengan berkesan dan mendapatkan semula keluarannya dalam Java?

Patricia Arquette
Patricia Arquetteasal
2024-10-31 04:28:30406semak imbas

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

Melaksanakan Program Luaran dalam Java

Dalam program Java anda, anda cuba untuk melaksanakan program luaran ("program.exe") menggunakan Runtime.exec( ) kaedah. Walaupun ia tidak menghasilkan ralat, program ini nampaknya tidak berkesan.

Kod yang disediakan menggunakan kaedah Runtime.exec(params) untuk memulakan atur cara luaran. Walau bagaimanapun, kaedah ini mempunyai had dalam mengendalikan data input dan output antara program Java dan proses luaran.

Untuk berinteraksi secara berkesan dengan program luaran dan mendapatkan semula outputnya, anda boleh menggunakan kelas ProcessBuilder. Berikut ialah contoh yang menunjukkan cara untuk melaksanakan program "program.exe" dengan parameter tertentu:

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

Dalam kod ini, kami mencipta contoh ProcessBuilder dengan parameter yang diperlukan. Kaedah start() digunakan untuk memulakan program luaran. Kami kemudian menggunakan InputStream untuk membaca output program, menukarnya kepada aksara menggunakan InputStreamReader dan akhirnya menyimpannya dalam BufferedReader untuk pemprosesan baris demi baris yang lebih mudah.

Atas ialah kandungan terperinci Bagaimanakah saya boleh melaksanakan program luaran dengan berkesan dan mendapatkan semula keluarannya dalam 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