Masalah

Menyimpan data ke dalam file sebenarnya proses yang mudah, dan dalam pemrograman jelas sering dilakukan. Entah itu menyimpan gambar yang diambil dari internet, atau menyimpan data-data temporary atau apapun. Masalahnyanya adalah kadang kita mendapatkan path file yang tidak lengkap. Sehingga sering terjadi File System Error, hanya karena salah path file. Dokumentasi status error-nya bisa ditemukan di sini.

Solusi

Sebenarnya pemecahannya sederhana, yang dibutuhkan adalah path yang lengkap. Tanpa path yang lengkap, maka runtime akan memberikan Exception. Contoh path yang lengkap:

file:///SDCard/Blackberry/pictures/IMG-20110316-00052.jpg

Jika diperhatikan, elemen berikut harus ada:

  1. protokol, dalam hal ini file:
  2. alamat root, dalam contoh ini adalah SDCard untuk menunjukkan memory card
  3. path file, dalam contoh iniĀ Blackberry/pictures/IMG-20110316-00052.jpg

Untuk memastikan ini, saya sudah membuat method sederhana dalam class helper yang biasa saya gunakan. Berikut ini method yang saya buat:

public static synchronized String saveToFile(String basePath, byte[] data)
            throws IOException {
        try {
            if (basePath.startsWith("file://")) {
                // do nothing
            } else if (!basePath.startsWith("/"))
                basePath = "file:///" + basePath;
            else if (basePath.startsWith("//"))
                basePath = "file:/" + basePath;
            else
                basePath = "file://" + basePath;
 
            FileConnection fconn = (FileConnection) Connector.open(basePath,
                    Connector.READ_WRITE);
            if (!fconn.exists())
                fconn.create();
            fconn.setWritable(true);
            OutputStream outputStream = fconn.openOutputStream();
            outputStream.write(data);
            outputStream.close();
            fconn.close();
 
            return basePath;
        } catch (IOException e) {
            throw e;
        }
}

Silakan digunakan jika bermanfaat.

September 27, 2011

One response to Menyimpan bytes ke dalam file

  1. Pingback: Membaca isi file | Mobile Application Developer

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Mobile and Web Analytics