0% menganggap dokumen ini bermanfaat (0 suara)
202 tayangan

Java Read and Write File

Modul ini membahas tentang membaca dan menulis file di Java. Tujuannya adalah mempelajari penggunaan file dalam Java, melakukan pembacaan dan penulisan data ke dalam file, serta menulis data agar mudah dibaca oleh program lain. File digunakan untuk menyimpan data secara permanen. Class File dan Stream digunakan untuk berinteraksi dengan file, seperti membuat, membaca, dan menulis file. Contoh kode mendemonstrasikan cara membuat, membaca

Diunggah oleh

Ahmad Rizani S
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
202 tayangan

Java Read and Write File

Modul ini membahas tentang membaca dan menulis file di Java. Tujuannya adalah mempelajari penggunaan file dalam Java, melakukan pembacaan dan penulisan data ke dalam file, serta menulis data agar mudah dibaca oleh program lain. File digunakan untuk menyimpan data secara permanen. Class File dan Stream digunakan untuk berinteraksi dengan file, seperti membuat, membaca, dan menulis file. Contoh kode mendemonstrasikan cara membuat, membaca

Diunggah oleh

Ahmad Rizani S
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 17

MODUL 6

JAVA READ AND WRITE FILE


TUJUAN PRAKTIKUM
1. Praktikan memahami bagaimana penggunaan sebuah file dalam Java.
2. Praktikan mampu melakukan penulisan dan pembacaan data dalam sebuah file
menggunakan Java.
3. Praktikan menuliskan data ke dalam sebuah file sehingga mudah untuk dibaca di
program yang lain.

A. PENDAHULUAN
Data yang kita proses pada saat program berjalan akan disimpan dalam
memori computer dimana data tersebut akan hilang/terhapus pada saat kita
menutup program atau selama komputer kita masih menyala. Untuk dapat
menyimpan data yang kita proses lebih lama, maka kita dapat menggunakan File.
File adalah kumpulan data yang tersimpan dalam hard disk atau media
penyimanan permanen yang lain.
1. KONEKSI FILE
Class file merupakan langkah awal dalam mempelajari proses input-output
dengan Java, karena File merupakan objek yang mewakili path, file, atau
direktori pada komputer anda. Class file juga dapat berguna untuk mengambil
informasi mengenai suatu file atau direktori dari disk.

Berikut ini method method yang terdapat dalam Class File, antara lain :
Methods
boolean canRead()

Fungsi
Returns true if a file is redeable by the current
application; false otherwise

boolean canWrite()

Returns true if a file is writable redeable by the


current application; false otherwise

boolean exists()

Returns true if the name specified as the argument


to the File constructor is a file or directory in the
specified path;false otherwise

boolean isFile()

Returns true if te name specified as the argument


to the File constructor is a file;false otherwise

boolean isDirectory()

Returns true if the name specified as the argument


to the File constructor is ad directory;false
otherwise

boolean isAbsolut()

Returns true if the arguments specified to the File


constructor indicate an absolute path to a file or
directory; flase otherwise

String getAbsoluteath()

Returns a string with the absolute path of the file or


directory

String getName()

Returns a string with the name of the file or


directory

String getPath()

Returns a string with the path of the file or directory

String getParent()

Returns a string with the parent directory of the file


or directory

Long length()

Returns the length of the file, in bytes. If the File


object represents a directory, 0 is returned

Long lastModified()

Returns a platform-dependent representation of


the time at which the file or directory was last
modified

String[] list()

Returns an array of strings representing the


contents of a directory.Returns null if the File object
does not represent a directory

Bentuk Umum :
File <nama_variable> = new File([path]);

Bentuk umum di atas adalah salah satu cara untuk mendefinisikan sebuah
object file yang hendak kita buat. Bentuk diatas tidak akan menghasilkan
sebuah file, namun hanya akan membuah sebuah Object yang berisi mengenai
bit-bit data yang merepresentasikan file yang hendak kita buat nantinya,
sehingga mempermudah kita dalam memanipulasi data-data dalam file itu
sendiri,

sebelum

akhirnya

penyimpanan yang kita miliki.


Contoh :

kita

menuliskannya

pada

media-media

2.

MEMBUAT FILE

Perhatikan pada contoh program di atas, pada baris ke-8 penggunaan


method createNewFile() yang terdapat pada kelas File adalah untuk
membuat sebuah file kosong baru pada path yang kita tentukan, karena
penggunaan method createNewFile() hanya menghasilkan file kosong maka
apabila kita hendak membuat file yang berisikan data penggunaan method ini
bisa digantikan dengan method lain seperti FileWriter maupun BuffredWriter
yang akan kita bahas nanti.
3. PATH
File yang diletakan pada direktori kerja harus diberi nama path, atau
nama lengkap termasuk nama direktorinya. Untuk memperjelas ada dua jenis
path yaitu nama path absolut dan path relatif. Nama path absolut memiliki
informasi lengkap dari akar direktorinyaSedangkan nama path relatif adalah
nama file yang dihitung mulai dari derektori aktifnya.

Sintaks path berbeda beda di tiap sistem operasi, antara lain :


-

Data.dat Pada komputer apapun, yaitu file Data.dat pada direktori


aktif.

/home/documents/alpro/Data.dat Nama path absolut pada pada


sistem operasi LINUX

C:\My Documents\Alpro\Data.dat Nama path absolut pada DOS atau


Windows

B.

Hard Drive:java:contoh:Data.dat Nama path absolut pada Macintosh

STREAM DAN FILE


Tanpa bisa berinteraksi dengan dunia lain suatu program tidak ada gunannya.

Interaksi suatu program dengan dunia lain disebut Input/output atau sering disingkat
I/O. Input dan output merupakan istilah yang dipakai untuk melakukan proses
penulisan dan pembacaan data, dimana penulisan data berarti mengalirkan data ke
output dan menerima atau mendapatkan data dari input.
Ketika berhubungan dengan input/output kita harus tau bahwa ada dua kategori
data secara umum, yaitu Binary Format (biner) dan Character Format (karakter).
Binary merupakan data berupa bit atau data biner, sedangkan karakter adalah tipe
khusus untuk pembacaan dan penulisan teks/karakter.
Java melakukan pemrosesan file dengan menggunakan class class dari package
java.io. Beberapa class yang dapat digunakan antara lain Class Stream dan Class File.
Berikut ini penjelasan lengkap mengenai kedua class tersebut.
1. STREAM
Stream merupakan dasar operasi input/output dalam java yang
menggunakan package java.io sebagai package utama. Pada Stream
memungkinkan untuk melakukan input/output data dalam bentuk karakter
maupun biner. File yang dibuat menggunakan format biner seringkali disebut
Binary File, sedangkan file yang dibuat dengan menggunakan format karakter
disebut Text File.

Setiap objek yang mengeluarkan data ke binary stream akan masuk sebagai
kelas turunan dari kelas OutputStream, sedangkan objek yang membaca data
dari binary stream diturunkan dari kelas InputStream. Artinya kita dapat
membaca data dari InputStream yang dapat berupa file, keyboard atau
komputer remote, sedangkan untuk operasi penulisannya kita akan
menulisnya pada OutputStream.
Adapun kelas turunan dari InputStream dapat dirangkum dalam tabel dibawah ini:
Kelas

Kegunaan

Argumen yang
dibutuhkan untuk
membuat objek

ByteArrayInputStream

StringBufferInputStream

Untuk menggunakan

Buffer yang akan

buffer pada memori

digunakan sebagai aliran

sebagai aliran input

input

Untuk mengubah String

Suatu String

menjadi InputStream
FileInputStream

Untuk membaca

String yang berupa nama

informasi dari dalam file

suatu file, atau objek


bertipe File atau
FileDescriptor

PippedInputStream

Menghasilkan data yang

Objek

ditulis oleh

PippedOutputStream

PippedOutputStream
SequenceInputStream

Untuk menggabungkan

Dua atau lebih objek

dua atau lebih

bertipe InputStream

InputStream menjadi
satu InputStream

FilterInputStream

Kelas abstrak yang


merupakan Interface dari
beberapa kelas bantu
untuk menggunakan
InputStream lain

Sedangkan turunan dari kelas OutputStream antara lain :


Kelas

Kegunaan

Argumen yang
dibutuhkan untuk
membuat objek

ByteArrayOutputStream

Untuk membuat buffer

Opsional untuk

dalam memori

memberikan besar buffer


yang akan disiapkan

FileOutputStream

Untuk menulis informasi

String yang berupa nama

kedalam file

suatu file, atau objek


bertipe File atau
FileDescriptor

PippedOutputStream

Informasi yang akan

Objek

dikirim di aliran output

PippedOutputStream

ini akan berakhir pada


objek bertipe
PippedInputStream
FilterOutputStream

Kelas abstrak yang


merupakan Interface
dari beberapa kelas
bantu untuk

menggunakan
OutputStream lain

Karena pada praktikum kali ini bertujuan untuk membaca dan menulis
informasi kedalam file, maka class turunan stream yang kita gunakan
hanya FileInputStream dan FileOutputStream. Berikut ini contoh
penggunaan class turunan tersebut.

Contoh :
1. Menulis Binary File menggunakan FileOuputStream

2. Membaca file biner yang sudah dibuat tadi menggunakan FileInputStream

2. FILE
Berbeda dengan Class Stream yang sudah kita bahas sebelumnya, pada
Class File hanya memungkinkan melakukan input/output data dalam
bentuk karakter saja. Data karakter yang bisa dibaca manusia dapat dibaca
dari file dengan menggunakan objek dari kelas FileReader yang
merupakan kelas turunan dari Reader. Data bisa ditulis dalam bentuk yang
bisa dibaca manusia dengan menggunakan FileWriter yang merupakan
kelas turunan dari kelas Writer.

Program berikut merupakan program yang digunakan untuk membaca


file yang bernama data.txt
// (Mendeklarasikan variabel sebelum pernyataan try
// jika tidak, maka variabel tersebut hanya bisa
// dilihat di dalam blok try, dan kita tidak bisa
// menggunakannya lagi di bagian program lain
FileReader data;
try {
// buat aliran input
data = new FileReader("data.txt");
}
catch (FileNotFoundException e) {
... // lakukan sesuatu untuk menangani kesalahan
}

Begitu

kita

berhasil

membuat

FileReader,

kita

bisa

mulai

membacanya. Tapi karena FileReader hanya memiliki metode input


primitif dari standar kelas Reader, kita mungkin akan membungkusnya
dalam objek lain, misalnya BufferedReader atau kelas pembungkus lain.
Untuk membuat BufferedReader untuk membaca file bernama
data.dat, kita bisa gunakan :
BufferedReader data;
try {
data = new BufferedReader(new
FileReader("data.dat"));
}
catch (FileNotFoundException
e){
... // tangani pengecualian
}

BufferedReader memiliki metode bantu untuk mengambil data per


baris dengan perintah readLine().Sehingga apabila data ditulis dalam
urutan per baris, kita bisa gunakan perintah Integer.parseInt(kalimat)
untuk mengubahnya menjadi integer. Untuk menyimpan data, kita bisa
membuat objek bertipe FileWriter. Dan kemudian kita mungkin ingin

membungkus aliran output ini dalam objek PrintWriter. Misalnya kita


ingin menyimpan data ke file yang bernama hasil.dat, kita bisa
menggunakan :

PrintWriter result;
try {
keluaran = new PrintWriter(new
FileWriter("hasil.dat"));
}
catch (IOException e) {
... // tangani pengecualian
}

Contoh :
1. Berikut ini contoh program untuk membaca file menggunakan
BufferedReader dan objek File sebagai representasi dari direktori file
yang akan dibaca.

2. Berikut ini contoh program untuk membaca file menggunakan


BufferedReader dan objek File sebagai representasi dari direktori file
yang akan dibaca.

C. FORMAT PENULISAN FILE


1. JENIS FORMAT PENULISAN
Keuntungan text file, bisa dibaca oleh kita dengan mudah melalui text
editor. Adapun tujuan penggunaan file untuk i/o adalah:
1. File masih tetap ada meskipun komputer dimatikan.
2. Persistence/permanent storage.

Ada beberapa format penulisan , diantaranya:


a. CSV(Comma Separated Value)
CSV adalah salah satu format yang dipakai dalam standar file
ASCII.Pemisahan nilai menggunakan koma(,) atau titik koma(;). Tanda baca
tersebut digunakan dengan cara penyisipan diantara nilai-nilai yang
ditentukan.
Contoh penulisan :

Sebagai bahan referensi bisa di lihat di link:


http://en.wikipedia.org/wiki/Comma-separated_values
b. XML
XML (eXtended Markup Language) adalah Bahasa markup yang
digunakan untuk menyimpan data dan tidak tergantung dengan tools
tertentu. Adapun Markup itu sendiri adalah Bahasa yang berisi kode-kode
tertentu untuk memformat dokumen teks dengan tag sendiri agar dapat
dimengerti.
Keuntungan XML
1. Ekstensibilitas: dapat ditukar dan digabung dengan dokumen XML lain.
2. Memungkinkan pemrograman yang lebih baik.
3. Memisahkan data dan presentasi.
4. Pencarian data cepat karena terstruktur.
5. Untuk pertukaran data.
6. Plain Text dan platform independent.

Berikut adalah contoh dari XML itu sendiri

Sebagai bahan referensi: http://en.wikipedia.org/wiki/XML


c. JSON
JSON adalah kependekan dari JavaScript Object Notation. Penulisan
format data menggunakan JSON sangatlah singkat karena menggunakan
notasi-notasi javascript seperti kurung siku [] dan kurung kurawal {}.

Sebagai bahan referensi: http://en.wikipedia.org/JSON

2. Penggunaan CSV ( Comma-Separated Values )


Sebuah comma-separated values atau CSV file adalah format teks sederhana yang
digunakan untuk menyimpan daftar catatan. Sebuah tanda koma (;) digunakan
sebagai pembatas untuk memisahkan bidang (juga disebut sebagai kolom) untuk
setiap record. Format ini umumnya digunakan untuk mentransfer data antara
spreadsheet, database, atau program aplikasi kustom.
Sebagai contoh:
Terdapat suatu teks file dengan nama outText seperti gambar di bawah ini

Maka poses pemisahan nilai dengan konsep CSV bisa dengan cara menggunakan method
split,berikut merupakan urutan prosesnya:
1. Read dan skip pada baris pertama isi file.
2. Read semua baris sebagai String.
3. Buat array yang menampung string dari line tersebut dimana array[0] adalah nilai dari
field pertama,dan array[1] adalah nilai dari field kedua.
4. Proses fieldnya.

Berikut ini adalah source code untuk penanganan contoh diatas:

Sehingga output yang dihasilkan sebagai berikut:

Soal
1.

Buatlah program untuk mengecek keberadaan file/isi pada suatu direktori

2.

Buatlah sebuah program untuk mengecek suatu file sudah ada atau belum,
jika sudah akan mengeluarkan output File Sudah ada bro, jika belum
akan mengeluarkan output File Berhasil dibuat bro.

Output :

Anda mungkin juga menyukai