Selasa, 13 Maret 2012

Stream IO

menggali ilmu dulu tentang java , lupakan GALAU

tentang Stream IO pada pemrograman JAVA


Overview I/O 

  1.  Konsep Stream
  2.  Kelas Abstrak pada java.io
  3.  Reader/Writer
  4.  Input dan Output file
  5.  Wrapper 


Konsep Stream
Stream adalah suatu abstraksi untuk data input dan output.

Kelas abstrak pada java io
• Reader dan Writer digunakan untuk data Teks
• InputStream dan OutputStream digunakan untuk data biner


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

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 = new
  FileInputStream(“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

Contoh Wrapper: PrintWriter


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



Perhatikan potongan kode berikut:

PrintWriter pr = new

PrintWriter(new FileWriter(“hello.txt”));
//Menulis 1 baris

pr.println(“Hello “);
• PrintWriter membungkus (wraps)
FileWriter untuk menyediakan method print(), println() untuk semua tipe data dasar


Membaca dari Console

• Java menyediakan System.in yang class-nya adalah InputStream

• Membaca teks dari console

• Untuk membaca teks, perlu di-wrap dengan BufferedReader

• Tapi BufferedReader hanya bisa me-wrap suatu class turunan Reader

• InputStream perlu di-wrap dengan InputStreamReade


Membaca dari console [2]

• Buat BufferedReader yang membungkus InputStreamReader yang membungkus System.in BufferedReader br = new BufferedReader(new InputStreamReader(System.in))

• Untuk membaca: String s = br.readLine();

• Untuk membaca integer, teks dibaca dengan method yang sama, lalu dikonversi dengan method Integer.parseInt()




sumber : IF-ITB/YN-revIL/2005
IF2281–Pemrograman Berorientasi Object

Tidak ada komentar:

Posting Komentar