Anda di halaman 1dari 8

BAB XI

CRUD FILE

Jika sebagai media penyimpanan selama ini yang biasa digunakan adalah database, maka kali ini
akan dijelaskan bagaimana memanfaatkan file sebagai media penyimpanan. Jika dibandingkan
dengan database, otomatis database jauh lebih baik dari file karena jika menggunakan database,
perintah dieksekusi oleh database tersebut, sedangkan jika menggunakan file, maka eksekusi
dilakukan dengan pemrogaman yang dibuat. Begitu juga dengan penggunaan memory, Jika
menggunakan database, maka memory yang disiapkan adalah sesuai dengan data yang dipanggil
dari database saja, sedangkan menggunakan file, maka semua isi file harus terlebih dahulu disimpan
kedalam memory walaupun data yang berada file tidak seluruhnya dibutuhkan.

1. Buat Folder
Sebelum membuat file, buat sebuah folder terlebih dahulu. Silahkan copy source code berikut

public static void buatFolder(String namaFolder) {


File file = new File("src/" + namaFolder);

//jika folder tidak ada, maka buat folder


if (!file.exists()) {
file.mkdirs();
}
}

Folder yang akan dibuat terlebih dahulu dicek, apakah sudah ada atau belum, jika belum ada maka
buat sebuah folder sesuai dengan nama yang diberikan dari void Main(lihat point 6)

2. Buat File
public static void buatFile(String namaFolder, String namaFile) {
File file = new File("src/" + namaFolder + "/" + namaFile);
try {
//perintah untuk membuat file pada java
file.createNewFile();
} catch (IOException ex) {
System.out.println("Membuat File Gagal : " + ex.toString());
}
}

Dari void Main akan dikirim dua buah parameter, yaitu nama folder dan nama file, jika sesuai maka akan dibuat
sebuah file dengan ketentuan nama file yang dikirim dan bertempat pada folder yang dikirim juga.

3. Menambahkan Teks Kedalam File


public static void menambahkanTeksKedalamFile(String namaFolder, String
namaFile, String teks) {

File file = new File("src/" + namaFolder + "/" + namaFile);


FileWriter fileWritter;
try {
//jika file tidak ada, maka otomatis mambuat file
if (!file.exists()) {
buatFile(namaFolder, namaFile);
}

fileWritter = new FileWriter(file, true);


BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(teks);
bufferWritter.close();
} catch (IOException ex) {
System.out.println("Append Teks Kedalam File Gagal :" + ex.toString());
}
}

Pada method ini akan menerima tiga buah parameter yaitu, nama folder, nama file dan teks yang akan
ditambahkan pada file. Perlu diperhatikan, jika pada file sudah ada teks, maka teks yang diterima akan
ditambahkan pada belakang teks yang ada pada file

4. Membaca Teks dari File


public static void bacaFile(String namaFolder, String namaFile) {

BufferedReader bufferedReader = null;


String teksDariFile = "";

try {
String barisTeks;
bufferedReader = new BufferedReader(new FileReader("src/" +
namaFolder + "/" + namaFile));
while ((barisTeks = bufferedReader.readLine()) != null) {
teksDariFile = teksDariFile + barisTeks;
}

} catch (IOException e) {
System.out.println("Gagal baca file :" + e.toString());
} finally {
try {
if (bufferedReader != null) {
bufferedReader.close();
}
} catch (IOException ex) {
System.out.println("Gagal Close File : " + ex.toString());
}
}

System.out.println("Teks Dari File : " + teksDariFile);

Method ini akan menerima nama folder dan nama file, dengan menentukan arah file maka bisa dilakukan operas
membaca file. Teks yang berada pada file akan ditampilkan dengan menggunakan perintah System.out.println().
5. Hapus File
public static void hapusFile(String namaFolder, String namaFile) {
File file = new File("src/" + namaFolder + "/" + namaFile);
file.delete();
}

Dengan menerima nama folder dan nama file, maka diarahkan kepada file yang ingin dihapus,
sehingga file akan terhapus

6. Source Code Lengkap Operasi File


Untuk source code lengkap Operasi File berikut, yang perlu diperhatikan adalah syntax yang ada
pada public static void Main(). Jika ingin membuat folder, silahkan hapus syntax yang memanggil
method lain, begitu juga dengan yang lain. Untuk pengujian method lain, pastikan terlebih dahulu
folder dan file sudah dibuat. Jika Program ini dijalankan, maka akan otomatis membuat sebuah folder,
membuat sebuah file, menambahkan teks kedalam file, membaca file dan selanjutnya akan
menghapus file.

1 import java.io.BufferedReader;
2 import java.io.BufferedWriter;
3 import java.io.File;
4 import java.io.FileReader;
5 import java.io.FileWriter;
6 import java.io.IOException;
7
8 public class OperasiFile {
9
10 public static void main(String[] args) {
11 String namaFolder = "FolderPemrograman";
12
13 String namaFile = "BelajarJava.txt";
14
15 //membuat folder folder
16 buatFolder(namaFolder);
17
18 //membuat file
19 buatFile(namaFolder, namaFile);
20
21
22 //menambah teks ke dalam file
23 String teks = "Ini adalah teks yang dimasukkan ke dalam file";
24 menambahkanTeksKedalamFile(namaFolder, namaFile, teks);
25
26 //baca isi file
27 bacaFile(namaFolder, namaFile);
28
29 //menghapus file
30 hapusFile(namaFolder, namaFile);
31 }
32
33 public static void menambahkanTeksKedalamFile(String namaFolder, String namaFile, Stri
34
35 File file = new File("src/" + namaFolder + "/" + namaFile);
36 FileWriter fileWritter;
37 try {
38 //jika file tidak ada, maka otomatis mambuat file
39 if (!file.exists()) {
40 buatFile(namaFolder, namaFile);
41 }
42
43 fileWritter = new FileWriter(file, true);
44 BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
45 bufferWritter.write(teks);
46 bufferWritter.close();
47 } catch (IOException ex) {
48 System.out.println("Append Teks Kedalam File Gagal :" + ex.toString());
49 }
50 }
51
52 public static void bacaFile(String namaFolder, String namaFile) {
53
54 BufferedReader bufferedReader = null;
55 String teksDariFile = "";
56
57 try {
58 String barisTeks;
59 bufferedReader = new BufferedReader(new FileReader("src/" + namaFolder +
60 while ((barisTeks = bufferedReader.readLine()) != null) {
61 teksDariFile = teksDariFile + barisTeks;
62 }
63
64 } catch (IOException e) {
65 System.out.println("Gagal baca file :" + e.toString());
66 } finally {
67 try {
68 if (bufferedReader != null) {
69 bufferedReader.close();
70 }
71 } catch (IOException ex) {
72 System.out.println("Gagal Close File : " + ex.toString());
73 }
74 }
75
76 System.out.println("Teks Dari File : " + teksDariFile);
77
78 }
79
80
81 public static void hapusFile(String namaFolder, String namaFile) {
82 File file = new File("src/" + namaFolder + "/" + namaFile);
83 file.delete();
84 }
85
86 public static void buatFile(String namaFolder, String namaFile) {
87 File file = new File("src/" + namaFolder + "/" + namaFile);
88 try {
89 //perintah untuk membuat file pada java
90 file.createNewFile();
91 } catch (IOException ex) {
92 System.out.println("Membuat File Gagal : " + ex.toString());
93 }
94 }
95
96 public static void buatFolder(String namaFolder) {
97 File file = new File("src/" + namaFolder);
98
99 //jika folder tidak ada, maka buat folder
100 if (!file.exists()) {
101 file.mkdirs();
102 }
103 }
104 }

ile merupakan urutan data yang digunakan untuk melakukan encode informasi digital untuk
urusan penyimpanan & pertukaran data. Sedangkan Class File merupakan langkah awal dalam
mempelajari proses input-output dengan Java, karena File merupakan objek yang mewakili path,
file, atau direktori pada harddisk. Ada tiga cara membuat objek File, yaitu :
1. Menggunakan objek string sebagai argumen yang menginformasikan path untuk file atau
direktori.
2. Menggunakan dua langkah, dimana yang pertama untuk mendefinisikan direktori dan
yang kedua untuk file.
3. Menggunakan dua argumen, dimana yang pertama adalah argumen string yang
mendefinisikan direktori, dan yang kedua adalah argumen string yang mendefinisikan nama file

Sementara itu, terdapat dua jenis stream yang digunakan untuk menulis dan membaca sebuah
file, yaitu FileInputStream digunakan untuk membaca data dari file yang merupakan turunan
langsung dari class InputStream dan FileOutputStream untuk menuliskan data ke file merupakan
turunan langsung dari class OutputStream.

Baiklah, tidak usah panjang lebar, berikut ini adalah contoh implementasi dari FileInputStream
dan FileOutputStream yang digunakan untuk menulis dan membaca file berbentuk txt
menggunakan java :

Menulis File dengan FileOutputStream


01 import java.io.FileNotFoundException;
02 import java.io.FileOutputStream;
03 import java.io.IOException;
04
05 /**
06 *
07 * @author CHARIS
08 */
09 public class tulisFile {
10 public static void main(String[] args) {
11 FileOutputStream out = null ;
12 String data = "Oke, Semangat" ;
13 //buka file dari direktori
14 try{
// Sesuaikan direktori berikut sesuai dengan lokasi txt
15
teman-teman
16 out = new FileOutputStream("G:/sister/bacalah.txt") ;
17
18 }catch(FileNotFoundException e){
19 System.out.println("File Tidak Ditemukan");
20 }
21 // menulis
22
23 try{
24 for(int i = 0 ; i < data.length() ; i++){
25 //Konversi data
26 out.write((int)data.charAt(i));
27 }
28 }catch(IOException e){
29 System.out.println(e.getMessage());
30 }
31 //tutup
32 try{
33 out.close();
34
35 }
36 catch(IOException e){
37
38 }
39 }
40 }
Berikut adalah hasil dari program diatas berupa teks yang telah ditulis dalam file berbentuk txt
Program berhasil menuliskan string dalam variabel data berupa tulisan "Oke, Semangat" dan
memindahkannya pada file berbentuk txt

Selanjutnya adalah Membaca File dengan FileInputStream

Saya menyiapkan file bentuk txt yang didalamnya terdapat teks seperti ini :

Program harus mampu membaca kedua baris teks diatas lalu ditampilkan dalam output program. Berikut
implementasinya :
01 import java.io.FileInputStream;
02 import java.io.FileNotFoundException;
03 import java.io.IOException;
04
05 /**
06 *
07
*
08
/
09 public class bacaFile {
10 public static void main(String[] args) {
11 FileInputStream input = null ;
12 int data ;
13 // Membuka File
14 try
15 {
16 input = new FileInputStream("G:/sister/bacalah.txt") ;
17
18 }catch(FileNotFoundException e)
19 {
20 System.out.println("File gak nemu");
21 }
22
23 try
24 {
25 while((data = input.read())!= -1)
26 {
27 System.out.print((char)data);
28 }
29 System.out.println();
30 }
31 catch(IOException e){
32 System.out.println(e.getMessage());
33 }
34
35 try{
36 input.close();
37
38 }
39 catch(IOException E)
40 {
41
42 }
43 }
44 }
Output dari program diatas sesuai dengan yang diharapkan, yaitu mampu menampilkan isi file txt :

Semoga pembasan singkat tentang bagaimana membaca dan menulis file txt diatas bermanfaat bagi-teman-
teman

Anda mungkin juga menyukai