Pertama, kita perlu meningkatkan izin eksekusi pengguna untuk skrip, yaitu,
Salinan kode adalah sebagai berikut:
String cmdstring = "chmod a+x test.sh";
Proses proc = runtime.getRuntime (). Exec (cmdstring);
proc.waitfor ();
CMDSTRING = "Bash test.sh";
proc = runtime.getRuntime (). exec (cmdString);
// Perhatikan operasi berikut
string ls_1;
BufferedReader bufferedReader = baru bufferedReader (inputStreamReader baru (proc.getInputStream ());
while ((ls_1 = bufferedreader.readline ())! = null);
bufferedreader.close ();
proc.waitfor ();
Mengapa Anda membutuhkan operasi di atas?
Alasannya adalah: output dari program yang dapat dieksekusi mungkin relatif besar, sedangkan buffer output dari jendela run terbatas, yang akan menyebabkan menunggu untuk diblokir sepanjang waktu. Solusinya adalah dengan menggunakan metode getInputStream dan getErrorStream yang disediakan oleh kelas proses yang disediakan oleh Java untuk memungkinkan mesin virtual Java untuk mencegat output standar dan output kesalahan dari program yang dipanggil, dan membaca konten dalam buffer output sebelum waitfor () memerintah.
Saya harap Anda dapat menyukai artikel ini.