Senin, 12 Maret 2012

Konsep Dasar Stream IO

0 komentar
Haloo meskipun saya sedang sakit saya mencoba utk sedikit memposting yg tentang Pemrograman Java ,
semoga bisa dipahami & bermanfaat ^^

Konsep Stream
Stream 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

Leave a Reply

Categories