Running Command Prompt’s Command from JAVA


Seperti yang anda ketahui, kita dapat menjalan kan command line di dalam JAVA. Sebagai contoh saya ingin men-compress file, saya dapat menggunakan software third party seperti 7zip untuk melakukan proses zipping, sedangkan JAVA hanya sebagai trigger untuk menjalankan command line nya saja.

Kode JAVA yang diperlukan untuk merunning command line kira-kira seperti ini:

public class ZipUtil {

 public static void zipFile(String appPath, String archiveName, String fromDirectory)throws IOException {

String s = null;
Process p = Runtime.getRuntime().exec(appPath + " u " + archiveName + " " + fromDirectory);
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));

// read the output from the command
//logger.info("Here is the standard output of the command:\n");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}

// read any errors from the attempted command
while ((s = stdError.readLine()) != null) {
System.out.println(s);

}
}
}

Tapi ada permasalahan disini, jika kita ingin merunning command-command dasar dari command prompt itu sendiri, seperti copy, dir, del, dll akan muncul error.Penjelasan kenapa error ini bisa terjadi ada pada paragraph di bawah ini:

Perlu diketahui saat kita memanggil method getRuntime() dari Class Runtime artinya system harus merunning executable file (ada di dalam parameter) dan tidak ada return value. Saat kita coba menjalankan copy file1 file2 system akan mencoba mencari file copy.exe pada System Path di komputer, jika ada file copy.exe maka file inilah yang akan di execute, dengan file1 dan file2 sebagai parameternya.

Lalu bagaimana caranya untuk merunning command prompt’s command melalui JAVA. Caranya sangat simple, apa nama file executable untuk menjalankan command prompt? Jawabannya adalah command prompt itu sendiri – cmd.exe. Jadi untuk menjalankan command prompt’s command melalui JAVA adalah dengan cara menggunakan command line seperti ini:

cmd.exe /C [command] [parameter1] [parameter2] .. [parameter..]

2 thoughts on “Running Command Prompt’s Command from JAVA

    • Hi yyy,

      Kalau contoh di atas itu hanya penggalan Function Class doank sih.
      Nggak ada Main Class nya, jadinya nggak bisa dilihat gimana output program nya.
      Tapi kalau mau ada Output nya kira2 seperti ini nih:
      – Misalkan di direktori “D:\” ada file gambar1.jpg, gambar2.jpg. Nah kita ingin men-zip gambar1.jpg dan gambar2.jpg itu menjadi sebuah zip file.
      Kita bisa membuat program JAVA nya yang nanti nya akan memanggip 7zip.exe untuk menzip kedua file tersebut. Kira2 seperti itu.

      Tapi kayaknya susah yah kalau nggak di praktekin langsung. :p

Leave a reply to Andreas Tjong Cancel reply