Tips Java : Membaca dan Menulis File Properties untuk Setting Konfigurasi Aplikasi • Friday, January 25. 2008
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 :
- Buat 1 project Java Application pada Netbeans. Simpan dengan nama yang diinginkan.
- 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 :

- Buat 2 buah method. Method pertama untuk Load Properties sebagai berikut :
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;}- Method kedua adalah method untuk Simpan Properties. Berikut adalah kode untuk menyimpan konfigurasi.
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());}}}- Berikutnya adalah kode yang akan dijalankan jika button di click. Letakkan kode ini pada event ActionPerformed pada btnSimpanKonfigurasi sehingga kode program menjadi sebagai berikut :
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 draftp.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());}}- Tambahkan kode untuk melakukan pengambilan data konfigurasi. Saya meletakkannya pada setelah init komponen. Untuk pemisahan kode, sebaiknya letakkan kode ini pada satu method tersendiri
Properties p2 = new Properties();p2 = loadProperties(PROP_FILE);//Mendapatkan nilai keytxtNamaAplikasi.setText(p2.getProperty("Nama Aplikasi"));txtHostServer.setText(p2.getProperty("Host Server"));- 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();


- 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 dan frmKonfigurasi.java












. Nick name Muhammad Rivai Andargini, nama yang dipakai sejak SMP dan sekarang menjadi nama anak
. Tinggal di Bekasi, Bekerja di Jakarta. Minat pada Linux dan dunia Open Source, Membaca, Hiking dan Avonturir.
Sat, 31.03.2012 10:15
Subhanallah... terimakasih sud ah diingatkan, bahwa kita seba gai orang tua harus senantiasa sabar dan telaten menjawab be rbagai pertanyaan anak2 kita y ang kadang sangat luar biasa, (sampai binggung menjawabnya)