Menjalankan Perintah Shell daripada Java: Panduan Terperinci
Dalam Java, anda boleh melaksanakan perintah sistem menggunakan kaedah Runtime.exec(). Walau bagaimanapun, memahami cara untuk melaksanakan arahan boleh menjadi mencabar.
Membuka Prompt Perintah
Kod yang anda berikan dengan betul membuka command prompt:
Runtime rt = Runtime.getRuntime(); rt.exec(new String[]{"cmd.exe","/c","start"});
Ini membuka tetingkap gesaan arahan baharu.
Melaksanakan Perintah
Untuk menjalankan arahan dalam command prompt, anda boleh menambahkan arahan pada baris arahan sebelum melaksanakannya. Sebagai contoh, untuk menukar direktori dan menjalankan arahan tertentu:
Menukar Direktori
// Change directory and run "dir" command ProcessBuilder builder = new ProcessBuilder( "cmd.exe", "/c", "cd \"C:\Program Files\Flowella\" && dir");
Baris arahan di atas memberitahu cmd.exe untuk melaksanakan arahan berikut mengikut urutan :
Menjalankan Perintah Lain
Anda boleh menjalankan sebarang arahan dengan mengubah suai arahan baris selepas "cd". Contohnya, untuk menjalankan arahan "ping":
ProcessBuilder builder = new ProcessBuilder( "cmd.exe", "/c", "cd \"C:\Program Files\Flowella\" && ping www.google.com");
Menggunakan ProcessBuilder
Kelas ProcessBuilder menyediakan cara yang lebih serba boleh untuk melaksanakan arahan. Ia membolehkan anda:
Dalam contoh di atas, kami mengubah hala ralat standard proses ke output standardnya untuk memudahkan pembacaan output.
Contoh Penggunaan
Kod berikut melaksanakan arahan "dir" dalam direktori yang ditentukan:
import java.io.*; public class CmdCommand { public static void main(String[] args) throws Exception { String dir = "C:\Program Files\Flowella"; ProcessBuilder builder = new ProcessBuilder( "cmd.exe", "/c", "cd \"" + dir + "\" && dir"); builder.redirectErrorStream(true); Process p = builder.start(); BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; while (true) { line = r.readLine(); if (line == null) { break; } System.out.println(line); } } }
Kod ini menukar arus direktori ke "C:Program FilesFlowella" dan laksanakan arahan "dir", mencetak output ke konsol.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Perintah Shell dari dalam Program Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!