Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Dapatkan Keluaran Baris Perintah Menggunakan Runtime.getRuntime() Java?

Bagaimanakah Saya Boleh Dapatkan Keluaran Baris Perintah Menggunakan Runtime.getRuntime() Java?

Patricia Arquette
Lepaskan: 2024-12-31 10:10:14
asal
275 orang telah melayarinya

How Can I Retrieve Command Line Output Using Java's Runtime.getRuntime()?

Mendapatkan Keluaran Baris Perintah Menggunakan Runtime.getRuntime() Java

Untuk memanfaatkan kuasa utiliti baris arahan dalam Java, pengaturcara sering menggunakan Runtime .getRuntime(). Walaupun pendekatan ini membolehkan pelaksanaan program luaran yang mudah, menangkap output mereka boleh membingungkan. Artikel ini merungkai selok-belok mendapatkan keluaran baris arahan menggunakan Runtime.getRuntime().

Untuk bermula, pertimbangkan contoh mudah ini:

Runtime rt = Runtime.getRuntime();
String[] commands = {"system.exe", "-send", argument};
Process proc = rt.exec(commands);
Salin selepas log masuk

Secara lalai, Runtime.getRuntime().exec () akan mengembalikan objek Proses yang mewakili atur cara yang dilaksanakan. Walau bagaimanapun, output yang dijana oleh program masih tidak boleh diakses melalui objek Proses itu sendiri.

Untuk mendapatkan semula output, seseorang perlu menyelidiki Aliran Input yang dikaitkan dengan objek Proses. Terdapat dua InputStreams untuk dipertimbangkan:

  • proc.getInputStream(): Strim ini menyediakan akses kepada output standard program yang dilaksanakan.
  • proc.getErrorStream(): Strim ini menangkap sebarang mesej ralat atau amaran yang dijana oleh program.

Untuk membaca output standard, gunakan objek BufferedReader:

BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
Salin selepas log masuk

Melalui stdInput, kita boleh mendapatkan semula output baris demi baris menggunakan kaedah readLine().

while ((s = stdInput.readLine()) != null) {
    System.out.println(s);
}
Salin selepas log masuk

Untuk menangkap sebarang ralat, ikut pendekatan yang serupa dengan proc.getErrorStream().

BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream()));

while ((s = stdError.readLine()) != null) {
    System.out.println(s);
}
Salin selepas log masuk

Dengan memasukkan strim ini ke dalam kod anda, anda boleh mendapatkan semula output program baris arahan yang dilaksanakan melalui Runtime.getRuntime().

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Keluaran Baris Perintah Menggunakan Runtime.getRuntime() Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan