Menyimpan dan Membaca File di Android Menggunakan Bahasa Pemrograman Java

Ingin tahu bagaimana cara menyimpan dan membaca file di Android menggunakan Java? Dalam artikel ini, kita akan membahas dua jenis penyimpanan file yang umum digunakan dalam pengembangan aplikasi Android: penyimpanan internal dan penyimpanan eksternal. Artikel ini cocok bagi pemula maupun pengembang yang ingin memperdalam pengetahuan dalam manajemen file Android.
Apa Itu Penyimpanan Internal dan Eksternal di Android?
- Penyimpanan Internal: Lokasi penyimpanan pribadi aplikasi. File yang disimpan di sini tidak dapat diakses oleh aplikasi lain.
- Penyimpanan Eksternal: Lokasi yang bisa diakses oleh aplikasi lain dan pengguna, seperti penyimpanan SD Card atau direktori publik.
1. Menyimpan dan Membaca File di Penyimpanan Internal
Menyimpan File
String filename = "contohfile.txt";
String fileContents = "Ini adalah data yang disimpan di internal storage.";
try (FileOutputStream fos = openFileOutput(filename, Context.MODE_PRIVATE)) {
fos.write(fileContents.getBytes());
Log.d("File", "File berhasil disimpan.");
} catch (IOException e) {
e.printStackTrace();
}
Membaca File
String filename = "contohfile.txt";
StringBuilder sb = new StringBuilder();
try (FileInputStream fis = openFileInput(filename);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr)) {
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
Log.d("File", "Isi file: " + sb.toString());
} catch (IOException e) {
e.printStackTrace();
}
2. Menyimpan dan Membaca File di Penyimpanan Eksternal
Izin yang Diperlukan
Tambahkan izin di AndroidManifest.xml
:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Untuk Android 6.0 (API 23) ke atas, minta izin secara runtime.
Menyimpan File
String fileName = "contoh_eksternal.txt";
String fileContents = "Ini adalah file di penyimpanan eksternal.";
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
File file = new File(getExternalFilesDir(null), fileName);
try (FileOutputStream fos = new FileOutputStream(file)) {
fos.write(fileContents.getBytes());
Log.d("File", "File eksternal berhasil disimpan.");
} catch (IOException e) {
e.printStackTrace();
}
}
Membaca File
String fileName = "contoh_eksternal.txt";
File file = new File(getExternalFilesDir(null), fileName);
StringBuilder sb = new StringBuilder();
try (FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr)) {
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
Log.d("File", "Isi file eksternal: " + sb.toString());
} catch (IOException e) {
e.printStackTrace();
}
Tips dan Best Practice
- Selalu periksa ketersediaan storage menggunakan
Environment.getExternalStorageState()
. - Gunakan
getExternalFilesDir()
agar file hanya dapat diakses oleh aplikasi Anda. - Untuk data sensitif, selalu simpan di penyimpanan internal.
- Jangan lupa untuk meminta izin runtime pada Android 6.0 ke atas.
Kesimpulan
Dengan memahami perbedaan antara penyimpanan internal dan eksternal di Android, Anda bisa memilih pendekatan yang tepat untuk menyimpan dan membaca file dalam aplikasi Anda. Java menyediakan API yang mudah digunakan untuk mengelola file secara efisien di Android.