Dec 11, 2008

Get IP in Linux with Java

Sudah lama tidak berbagi pengalaman masalah programming, jadi kali ini saya kan mencoba berbagi materi java programming mengenai bagaimana mendapatkan IP Address dari sebuah mesin linux RedHat atau fariant-nya menggunakan konsep RegEx.
Hal yang pertama harus dilakukan adalah membuat project, dan pada kesempatan kali ini saya menggunakan netbean 6.1 sebagai IDE-nya. Untuk membuat project saya rasa semua sudah bisa, selanjutnya buatlah atau editlah form pada project sehingga didapatkan form sebagai berikut.


Setelah form dibuat, sekarang giliran meng-assign sebuah action pada button, dan untuk melakukan ikuti langkah sebagai berikut.
1. Click kanan pada button, kemudian pilih menu "Set Action".


2. Kemudian pada window untuk membuat action pilih "Create New Action ..." pada bagian Action.

3. Beri nama action yang dibuat "getIpAddress", dan click Ok.

4. Netbean akan mengantarkan kita ke bagian Source untuk mengetikan kelakukan dari method atau action yang baru dibuat. Masukan kode seperti dibawah ini.


public CharSequence fromFile(String filename) throws IOException {
FileInputStream fis = new FileInputStream(filename);
FileChannel fc = fis.getChannel();

// Create a read-only CharBuffer on the file
ByteBuffer bbuf = fc.map(FileChannel.MapMode.READ_ONLY, 0, (int)fc.size());
CharBuffer cbuf = Charset.forName("8859_1").newDecoder().decode(bbuf);
return cbuf;
}

@Action
public void getIpAddress() throws IOException {
// Create matcher on file
Pattern pattern = Pattern.compile("IPADDR=(?:[0-9]{1,3}.){3}[0-9]{1,3}");
Matcher matcher = pattern.matcher(fromFile("/etc/sysconfig/network-script/ifcfg-eth0"));
String match = new String();

// Find all matches
while (matcher.find()) {
// Get the matching string
match = matcher.group();
}
String[] test = match.split("=");

jTextField1.setText(test[1]);
}

5. Run project dengan menekan F6. Hasil dari project kurang lebih akan seperti berikut.
Powered by Blogger.

Whatsapp Button works on Mobile Device only

Start typing and press Enter to search