Java – Vavai

Mudah Belajar Java Bersama Vavai :-)

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

By • Jan 25th, 2008 • Category: Tips & Trick 11,154 views Cetak Artikel Ini Cetak Artikel Ini

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

Cetak Artikel Ini Cetak Artikel Ini

is Masim "Vavai" Sugianto, Professional IT. Tinggal di Bekasi, bekerja di Jakarta. Aktif pada Komunitas OpenSUSE Indonesia. Berminat pada dunia Open Source dan pengembangan program Java. Keseharian dapat dimonitor pada Blog Pribadi
Email this author | All posts by

8 Responses »

  1. 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. 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. 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. website ini sangat bagus buat para penggemar java

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

  6. keren!,,,
    salam kenal…

  7. wah trima kasih atas tips nya 🙂

  8. […]  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"); […]

Leave a Reply