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);
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:
Untuk membaca output standard, gunakan objek BufferedReader:
BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
Melalui stdInput, kita boleh mendapatkan semula output baris demi baris menggunakan kaedah readLine().
while ((s = stdInput.readLine()) != null) { System.out.println(s); }
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); }
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!