Anda di halaman 1dari 5

Pertemuan I Stream

Bahasan : IO Stream Sasaran : - Konsep dari stream - Char Stream and Byte Stream (basic IO operation) Materi :

1. Program dalam java melakukan operasi I/O dengan menggunakan Streams. Streams sendiri adalah adalah abststraksi dari sesuatu yang digunakan untuk menulis atau menghasilkan dan membaca atau mendapatkan suatu informasi. Secara umum Stream dalam java dibagi dalam dua bagian besar yaitu Byte Stream

dan Character Stream. Byte Stream sangat cocok untuk digunakan untuk operasi I/O data biner (byte). Sedangkan Character Stream digunakan untuk menangani operasi I/O yang menggunakan karakter. Dalam beberapa kasus, seperti menangani operasi I/O yang menulis dan membaca data yang berupa String, penggunaan character Stream ini lebih effisien. Semua kelas dan interface yang berhubungan dengan Stream ada dalam package java.io.*. Table I.1 Daftar beberapa class ber-type byte Streams class BufferedInputStream Deskripsi Byte input Stream yng menggunakan buffer

BufferedOutputStream Byte output Stream yng menggunakan buffer ByteArrayInputStream Byte input stream yang membaca dari array bertype byte (InputStream) ByteArrayInputStream Byte output stream yang menulis ke array bertype byte (OutputStream) DataInputStream Byte input stream yang memiliki method untuk membaca input yang bertype data standart Java. DataOutputStream Byte output stream yang memiliki method untuk menuliskan Java. FileInputStream FileOutputStream PrintStream Byte input stream yang membaca dari file. Byte output stream yang menuliskan ke file. Byte output Stream yang menambahkan method untuk memudahkan proses menulis ke suatu output. Method yang ditambahkan adalah print() dan println(). Object yang referensinya dipegang oleh Sytem.out juga bertipe PrintStream. output yang bertype data standart

Tabel I.2 Daftar beberapa class bertipe Character Streams. Class BufferedReader Deskripsi Input character stream yang menggunakan buffer. Output character stream yang menggunakan buffer. Input character Stream yang membaca dari array bertipe Char. Output character Stream yang menulis ke array bertipe Char. Input character stream yang membaca dari file. output character stream yang menulis ke file. Input stream yang mengkonversi dari byte ke char Output stream yang mengkonversi dari char ke byte Output karakter stream yang menambahkan PrintWriter method untuk memudahkan proses menulis ke suatu output. Method yang di tambahkan yaitu print() dan println(). StringReader Input character Stream yang membaca dari String Output character stream yang menulis ke String

BufferedWriter

CharArrayReader

CharArrayWriter

FileReader FileWriter InputStreamReader

OutputStreamWriter

StringWriter

Byte Stream Class yang mengimplentasikan byte Stream merupakan turunan dari

OutputStream.class dan InputStream.class. Secara umum cara penggunaan class tersebut adalah sama. Secara dasar perlu diketahui method yang dideklarasikan oleh superclass InputStream dan OutputStream untuk dapat menggunakan class class tersebut. Berikut ini dalah daftar method yang dideklarasikan oleh kedua superclass tersebut :

Table I.3 Daftar method yang didefinisikan oleh class InputStream. Method Int available() Fungsi Mengembalikan jumlah byteyang dapat

dibaca / dikembalikan oleh InputStream ini

Menutup InputStream dan membebaskan Void close() semua resource yang berhubungan dengan Stream ini. Void readLimit) Boolean markSupported() mark(int Menandai posisi saat ini dalam InputStream yang akan tetap valid hingga sebuah

ReadLimit byte dibaca. Mengembalikan nilai true jika stream ini mendukung method mark() dan reset(). Membaca sejumlah byte berikutnya dari

Int read()

InputStream, dan mengembalikan nilainya sebagai integer. Membaca sejumlah byte dari InputStream

Int read(byte [] b)

meletakkannya ke dalam buffer array b dan mengemblikan jumlah byte yang berhasil dibaca. Membaca sejumlah byte dari InputStream

Int read(byte [] b, int meletakkannya ke dalam buffer array b mulai offset, int length) dari posisi offset (b[off]) dan mengemblikan jumlah byte yang berhasil dibaca. Mengembalikan posisi pembacaan stream ke Void reset() posisi dimana terakhir kali method mark() dipanggil. Long skip() Mengacuhkan / melompati (skip) sejumlah n byte dari InputStream.

Tabel I.4 Daftar method yang didefiniskan oleh class OutputStream. Method Fungsi Menutup OutputStream dan membebaskan Void close() semua resource yang behubungan dengan stream ini. Void flush() Void write(byte [] b) Mengosongkan buffer dan menuliskan semua output ke tujuannya. Menuliskan isi array ke OutputStream.

Void write(byte [] b, int Menuliskan isi array ke OutputStream mulai offset, int length) Abstract void write(int b) dari posisi offset sebanyak length Menuliskan sebuah byte data ke outputStream

Contoh Program :

1. Input karakter

import java.io.*; public class inputkarakter { public static void main(String args[])throws IOException { System.out.println("masukkan sembarang karakter"); InputStreamReader in = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(in); char ch = (char)br.read(); System.out.println("Karakter yang dimasukkan yaitu \'"+ ch +"\'"); } }

2. Baca file

import java.io.*; public class bacafile { public static void main(String args[]) { FileInputStream input = null; int data; //membuka file try{ input = new FileInputStream("f:/template/bacalah.txt"); }catch(FileNotFoundException fn) {System.out.println("file gak temu");} //membaca data dari dalam file try{ while ((data = input.read()) != -1){ System.out.print((char) data); } System.out.println(); }catch(IOException in){ System.out.println(in.getMessage()); } //menutup file try{ input.close(); }catch(IOException e){} } }

3. Tulis file

import java.io.*; public class tulisfile { public static void main(String args[]) { FileOutputStream out = null; String data = "ok smangat"; //buka file try{ out= new FileOutputStream("f:/template/about.txt"); }catch(FileNotFoundException fn){ System.out.println("File tidak ditemukan"); } //menulis try{ for(int i=0; i<data.length(); i++) { //konfersi data out.write((int)data.charAt(i)); } } catch(IOException io){ System.out.println(io.getMessage()); } //tutup try{ out.close(); }catch(IOException eo){} } }

Anda mungkin juga menyukai