- Java – Vavai - http://java.vavai.com -

Tips Java : Membaca dan Menulis File Properties untuk Setting Konfigurasi Aplikasi

Salah satu feature yang sering digunakan pada aplikasi terapan adalah kemampuan membaca dan menulis file konfigurasi. Sistem Windows biasa mengenal file konfigurasi dengan ekstension file .ini. Java sendiri tidak mempermasalahkan ekstension nama file. Dalam banyak contoh, kebanyakan malah menggunakan ekstension file yang cukup panjang, .properties.

Apa keuntungan penggunaan file konfigurasi ? Keuntungan utama adalah kemudahan dalam melakukan perubahan on the fly. Contohnya, jika kita menggunakan server ujicoba pada alamat tertentu dan server produksi untuk implementasinya, kita dapat dengan mudah melakukan perubahan pada file konfigurasi tanpa membuka maupun mengubah kode program. Fleksibilitas ini juga bermanfaat jika satu waktu kita harus menggunakan alamat server database yang lain.

Kita bisa mendefinisikan komponen dari file properties sesuai dengan keinginan. Bisa saja kita mendefinisikan nama aplikasi, setting default untuk email, setting konstanta tertentu dan lain sebagainya. Ada juga beberapa aplikasi yang bahkan menyimpan string koneksi database pada file konfigurasi. Hati-hati jika menggunakan hal seperti ini karena saya pernah melihat, password untuk koneksi ke database disimpan dalam bentuk plain text :-).

Berikut adalah langkah-langkah membuat aplikasi untuk membaca dan menyimpan file konfigurasi :

  1. Buat 1 project Java Application pada Netbeans. Simpan dengan nama yang diinginkan.
  2. Tambahkan 1 buah JFrame Form, beri nama frmKonfigurasi, setting Title dan lengkapi dengan 1 Panel, 2 Label, 2 Text Field (txtNamaAplikasi dan txtHostServer) dan 1 Button (btnSimpanKonfigurasi) seperti pada contoh berikut :
  3. Buat 2 buah method. Method pertama untuk Load Properties sebagai berikut :
  4. public static Properties loadProperties(String sFile) {
    Properties p = new Properties();
    try {
    FileInputStream in = new FileInputStream(sFile);
    p.load(in);
    System.out.println("File konfigurasi '" + sFile + "' berhasil dibuka");
    in.close();} catch (IOException iOException) {
    JOptionPane.showMessageDialog(null, iOException);
    }
    return p;}
    
  5. Method kedua adalah method untuk Simpan Properties. Berikut adalah kode untuk menyimpan konfigurasi.
  6. public static void saveProperties(Properties p, String sFile) throws IOException{
    FileOutputStream out = null;
    try {
    out = new FileOutputStream(sFile);
    p.store(out, "Ini baris komentar\nFile konfigurasi");
    JOptionPane.showMessageDialog(null, "File konfigurasi '"+sFile+"' sudah disimpan");
    } catch (FileNotFoundException ex) {
    Logger.getLogger(frmKonfigurasi.class.getName()).log(Level.SEVERE, null, ex);
    JOptionPane.showMessageDialog(null, ex.getMessage());
    } finally {
    try {
    out.close();
    } catch (IOException ex) {
    Logger.getLogger(frmKonfigurasi.class.getName()).log(Level.SEVERE, null, ex);
    JOptionPane.showMessageDialog(null, ex.getMessage());
    }
    }}
    
  7. Berikutnya adalah kode yang akan dijalankan jika button di click. Letakkan kode ini pada event ActionPerformed pada btnSimpanKonfigurasi sehingga kode program menjadi sebagai berikut :
  8. private void btnSimpanKonfigurasiActionPerformed(java.awt.event.ActionEvent evt) {
    try {
    /**
    * Menyimpan file properties ke file
    * @param Properties p Object Properties
    * @param String sFile String path file tujuan
    */
    Properties p = new Properties();//Menetapkan key dan value draft
    p.setProperty("Nama Aplikasi", txtNamaAplikasi.getText());
    p.setProperty("Host Server", txtHostServer.getText());
    saveProperties(p, PROP_FILE);
    } catch (IOException ex) {
    Logger.getLogger(frmKonfigurasi.class.getName()).log(Level.SEVERE, null, ex);
    JOptionPane.showMessageDialog(null, ex.getMessage());
    }}
    
  9. Tambahkan kode untuk melakukan pengambilan data konfigurasi. Saya meletakkannya pada setelah init komponen. Untuk pemisahan kode, sebaiknya letakkan kode ini pada satu method tersendiri
  10. Properties p2 = new Properties();
    p2 = loadProperties(PROP_FILE);//Mendapatkan nilai key
    txtNamaAplikasi.setText(p2.getProperty("Nama Aplikasi"));
    txtHostServer.setText(p2.getProperty("Host Server"));
  11. Jalankan form. Pada saat awal, form akan melakukan loading file konfigurasi. Jika tidak menemukannya, akan timbul pesan bahwa file konfigurasi.properties tidak ditemukan. Untuk aplikasi terapan, pesan ini bisa dinonaktifkan agar tidak membingungkan. Saya menambahkan messagebox sebagai perangkap kesalahan untuk kepentingan debug saja. Pesan ini bisa saja disampaikan pada konsole menggunakan System.out.println();
  12. Setelah mengisi dan menyimpan konfigurasi, akan terbentuk file konfigurasi.properties yang akan diletakkan di folder project kita. Isinya kira-kira sebagai berikut :

Silakan lakukan modifikasi program sesuai dengan tujuan yang diinginkan.

Catatan : Contoh lengkap, frmKonfigurasi.form [1] dan frmKonfigurasi.java [2]

8 Comments (Open | Close)

8 Comments To "Tips Java : Membaca dan Menulis File Properties untuk Setting Konfigurasi Aplikasi"

#1 Comment By hery On June 9, 2008 @ 9:23 am

Salam kenal,
Saya adalah penggemar java vavai, setiap ada kesulitan dalam pemrograman java pasti saya selalu mengunjungi java vavai.
Mohon bantuannya..

Pak gmn caranya menyisipkan teks pada microsoft office word 2003?
bukan mereplace semuanya tapi sekedar menyisipkan.
NB: di dalam .doc nya ada gambar2.

terima kasih banyak ya pak, mohon imbingan anda . . .

#2 Comment By heru On July 6, 2008 @ 5:16 am

kalo misal output bentuknya seprti ini syntax gmn????
Contoh :

DATA MAHASISWA
MASUKKAN DATA ANDA :
NAMA :
NIM :
ALAMAT :
untuk pengisian nama,nim dan alamat menggunakan text box, thank’s

#3 Comment By Erwa On October 21, 2008 @ 4:46 am

Bang vavai, ok banget source code nya, klo ane pengen buat file(extentionnya apa aja) tapi lokasinya pengen di tempatin di tempat aplikasi java(exe dari programnya) berada, kan klo di vb ada fungsi app.path, nah klo di java macem mana ya bang?. Thx B-4, sorry sok kenal sok deket!

#4 Comment By ruzi On March 24, 2009 @ 7:13 am

website ini sangat bagus buat para penggemar java

#5 Comment By Jaya On September 7, 2009 @ 4:28 am

thank you. source code nya Oke. tetap semangat ya ngebantu in.

#6 Comment By IdeGue! Blog On June 20, 2010 @ 3:30 pm

keren!,,,
salam kenal…

#7 Comment By Dian Angraeni On July 12, 2010 @ 9:22 am

wah trima kasih atas tips nya 🙂

#8 Pingback By Setting Konfigurasi Aplikasi | Earth Moklet Sandhy Putra On January 16, 2012 @ 11:07 am

[…]  http://java.vavai.com/2008/01/25/tips-java-membaca-dan-menulis-file-properties-untuk-setting-konfigu… Advertisement LD_AddCustomAttr("AdOpt", "1"); LD_AddCustomAttr("Origin", "other"); […]