tentang Stream IO pada pemrograman JAVA
Overview I/O
- Konsep Stream
- Kelas Abstrak pada java.io
- Reader/Writer
- Input dan Output file
- Wrapper
• 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
• 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