Konsep StreamStream adalah suatu abstraksi untuk data input dan
output, tidak peduli dari mana input berasal atau kemana output akan ditujukan.
Package Java.Io
Package java.io berisi kelas yang
berhubungan dengan I/O di Java, dibagi menjadi beberapa kelas, yaitu :
- Reader/Writer dan turunannya
- InputStream/OutputStream dan turunannya
- I/O Network (socket TCP/IP)
- Exception
Kelas Abstrak pada java.io
• Ada 4 kelas abstrak dasar
– Reader
– Writer
– InputStream
– OutputStream
• Reader dan Writer digunakan untuk data
teks
• InputStream dan OutputStream digunakan
untuk data biner
Kelas Reader/Writer
• Kelas Reader/Writer
bekerja pada stream teks (bahasa apapun)
• Disebut juga
character stream
• Menangani konversi
teks Unicode secara otomatis
• Jangan dipertukarkan
dengan InputStream/OutputStream secara sembarangan
• Hasilnya bisa error
Diagram Kelas Reader dan Turunannya
Diagram Kelas Writer dan Turunannya
Kelas InputStream/OutputStream
• InputStream dan OutputStream
digunakan untuk mengakses
informasi non teks ( biner ) disebut juga sebagai byte stream.
Contoh data biner: File EXE, file GIF
• InputStream/OutputStream
Tidak menangani konversi teks
Unicode secara otomatis
Diagram Kelas InputStream dan Turunannya
Diagram Kelas OutputStream dan Turunannya
Input dan Output File
• Gunakan FileInputStream dan
FileOutputStream
untuk membaca menulis file
non teks
• Gunakan FileReader/FileWriter
untuk file teks
Contoh Membuka file untuk dibaca :
• Cara untuk membuka file (untuk dibaca):
FileInputStream s =
newFileInputStream(“test.dat”);
• Cara untuk membaca satu byte:
int a = s.read()
• Tersedia juga method untuk membaca array
of byte
• Prototype read adalah :
int read()
– Perlu dicast ke byte untuk membaca
sebagai byte
– Memakai int supaya cukup
merepresentasikan -1
Contoh Membuka file untuk ditulis :
• Cara untuk membuka file (untuk
ditulisi):
FileOutputStream out = new
FileOutputStream(“test.out”);
• Intruksi untuk menulis satu byte:
– Out.write(‘a’)
• Tersedia juga method untuk menulis array
of byte
Memakai File Reader/File Writer
• Sama seperti contoh sebelumnya
Ganti nama kelas FileInputStream dengan
FileReader dan FileOutputStream dengan File
Tetap gunakan read/write
• Perhatikan bahwa
Nilai kembalian
Wrapper
• Stream dapat dikomposisi atau difilter
atau dibungkus untuk menghasilkan stream yang lebih kompleks
• Konsep ini mirip dengan pipe di
Unix/Windows
• Contoh:
– BufferedReader yang menyediakan
readLine()
– PipedWriter/PipedReader untuk mempipe
suatu stream
– PrintStream/PrintWriter untuk menulis ke
stream dengan mudah
Contoh Wrapper: BufferedReader :
• Perhatikan potongan kode berikut:
BufferedReader br*=
newBufferedReader(newFileReader(“hello.txt”));
//membaca 1 baris
String teks = br.readLine();
• BufferedReader membungkus (wraps)
FileReader untuk menyediakan method readLine()
Contoh Wrapper: PrintWriter :
• Perhatikan potongan kode berikut:
PrintWriter pr = new
PrintWriter(newFileWriter(“hello.txt”));
//Menulis 1 baris
pr.println(“Hello “);
• PrintWriter membungkus (wraps)
FileWriter untuk menyediakan method
print(), println() untuk semua tipe data dasar
sekian postingan dari saya. semoga bermanfaatt buat kalian semua :D
source :
Tidak ada komentar:
Posting Komentar