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

Deskripsi

BufferedInputStream

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 output yang bertype data standart Java.

FileInputStream

Byte input stream yang membaca dari file.

FileOutputStream

Byte output stream yang menuliskan ke file.

PrintStream

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.

Tabel I.2 Daftar beberapa class bertipe Character Streams.

Class

Deskripsi

 

BufferedReader

Input character stream yang menggunakan buffer.

BufferedWriter

Output character stream yang menggunakan buffer.

CharArrayReader

Input character Stream yang membaca dari array bertipe Char.

CharArrayWriter

Output character Stream yang menulis ke array bertipe Char.

FileReader

Input character stream yang membaca dari file.

FileWriter

output character stream yang menulis ke file.

InputStreamReader

Input stream yang mengkonversi dari byte ke char

OutputStreamWriter

Output stream yang mengkonversi dari char ke byte

PrintWriter

Output karakter stream yang menambahkan 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

StringWriter

String

2 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

Fungsi

Int available()

Mengembalikan jumlah byteyang dapat dibaca / dikembalikan oleh InputStream ini

Void close()

Menutup InputStream dan membebaskan semua resource yang berhubungan dengan Stream ini.

Void

mark(int

Menandai posisi saat ini dalam InputStream yang akan tetap valid hingga sebuah ReadLimit byte dibaca.

readLimit)

Boolean

Mengembalikan nilai true jika stream ini mendukung method mark() dan reset().

markSupported()

 

Membaca

sejumlah

byte

berikutnya

dari

Int read()

InputStream,

dan

mengembalikan

nilainya

sebagai integer.

Int read(byte [] b)

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

Int read(byte [] b, int offset, int length)

Membaca sejumlah byte dari InputStream meletakkannya ke dalam buffer array b mulai dari posisi offset (b[off]) dan mengemblikan jumlah byte yang berhasil dibaca.

Void reset()

Mengembalikan posisi pembacaan stream ke 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()

Mengosongkan buffer dan menuliskan semua output ke tujuannya.

Void write(byte [] b)

Menuliskan isi array ke OutputStream.

 

Void write(byte [] b, int offset, int length)

Menuliskan isi array ke OutputStream mulai dari posisi offset sebanyak length

Abstract void write(int

 

b)

Menuliskan sebuah byte data ke outputStream

Contoh Program

:

1. Input karakter

Contoh Program : 1. Input karakter 2. Baca file

2. Baca file

Contoh Program : 1. Input karakter 2. Baca file

3.

Tulis file

3. Tulis file Tugas di laboratorium : 1. Buatlah program yang membaca input text dari keyboard

Tugas di laboratorium :

1. Buatlah program yang membaca input text dari keyboard dan menyimpannya dalam sebuah variable kemudian menampilkan inputan tersebut ke layar. Inputan berupa satu kalimat atau paragraph.

2. buatlah program untuk mengkopi isi sebuah file ke file lain.

3. Buatlah program untuk menggabungkan file. Baca sebuah file lalu simpan isi tersebut ke

variable dan membaca file kedua lalu menyimpannya pada variable kedua kemudian

menggambungkan kedua file tersebut dalam satu file yang disimpan di direktori d.

Sebelum menyimpan, program akan memeriksa apakah di diretori d. Terdapat folder

dengan nama “Simpan”. Bila belum ada program akan otomatis membuat folder dengan

nama “Simpan” dan file disimpan didalamnya.

4. Buat program simulasi dari dos prompt dalam windows. Jadi setelah membuat file dengan

isinya dan disimpan didirektori tertentu. Untuk mengetahui keberadaan file ketikkan “dir”.

Maka seluruh folder yang ada di direktori terbesut akan muncul dan kelihatan file yang

telah kita buat.