Selasa, 04 Maret 2014

Membuat Aplikasi Untuk Menjalankan Perintah Linux Dengan Java

  • Disini saya menggunakan Compiler Eclipse Versi 3.8.1. Buat project baru melalui File → New → Java Project :
Project Name = runLinuxCmd
Location = /home/it/workspace (Default)
JRE = Use a project specific JRE → java-7-openjdk-amd64
Project Layout = Create separates folders for sources and class files
Kemudian klik Next → Finish.
  • Klik kanan pada folder src → New → Class :
Name : runLinuxCmd
Which method stubs would you like to : public static void main(String[] args)
Pilihan lainnya biarkan default.

Kemudian klik Finish.
  • Dibaris paling atas class runLinuxCmd.java, import package yang diperlukan :
import static java.lang.System.out;
import java.io.IOException;
import java.io.InputStream;
  • Didalam fungsi main, buat kode untuk menjalankan perintah ping ke ip 192.168.1.1 :
String str1 = "ping";
String str2 = "192.168.1.1";
 
ProcessBuilder pB = new ProcessBuilder(str1, str2);
Process p = null;
 
try
{
     p = pB.start();
     out.println("Command started...\n");
}
catch (Exception e)
{
     e.printStackTrace();
}
  • Kemudian untuk menampilkan output dari proses yang berjalan, tambahkan kode seperti di bawah ini :
//Tampilkan output proses
InputStream is = p.getInputStream();
int c = 0;
try
{
while (c > -1)
  {
     c = is.read();
     if (c > -1)
     {
        out.print((char) c);
     }
  }
}
catch (Exception e)
{
   e.printStackTrace();
}
 
int exit = p.exitValue();
out.println(exit);
  • Sampai disini, semua kode telah selesai kita tuliskan. Untuk menjalankan program yang telah dibuat bisa dengan menekan kombinasi tombol "Ctrl + F11", atau pilih menu Run -> Run, atau dengan langsung menekan tombol Run di barisan tombol diawah menu.
  • Secara keseluruhan kode yang telah kita buat adalah sebagai berikut :
import static java.lang.System.out;
import java.io.IOException;
import java.io.InputStream;
 
public class linuxCmd 
{
 public static void main(String[] args)
 {
  ProcessBuilder pb = new ProcessBuilder("ping", "192.168.1.1");
  Process p = null;
 
  try
  {
   p = pb.start();  
  }
  catch (IOException e)
  {
   e.printStackTrace();
  }
 
  InputStream is = p.getInputStream();
 
  int c = 0;
  try
  {
   while(c > -1)
   {
    c = is.read();
 
    if (c > -1)
     out.print((char)c);
   }
  }
  catch (IOException e)
  {
   e.printStackTrace();
  }
 }
}
 
Demikian tutorial kali ini. Selamat mencoba.

Tidak ada komentar:

Posting Komentar