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
Input character stream yang menggunakan

BufferedReader

buffer.
Output character stream yang menggunakan

BufferedWriter

buffer.
Input character Stream yang membaca dari

CharArrayReader

array bertipe Char.


Output character Stream yang menulis ke

CharArrayWriter

array bertipe Char.


Input character stream yang membaca dari

FileReader

file.

FileWriter

output character stream yang menulis ke file.


Input stream yang mengkonversi dari byte ke

InputStreamReader

char

OutputStreamWriter

Output stream yang mengkonversi dari char


ke byte
Output karakter stream yang menambahkan
method untuk memudahkan proses menulis ke

PrintWriter

suatu output. Method yang di tambahkan yaitu


print() dan println().

StringReader

StringWriter

Input character Stream yang membaca dari


String
Output character stream yang menulis ke
String

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

mark(int

readLimit)

Menandai posisi saat ini dalam InputStream


yang

akan

tetap

valid

hingga

sebuah

ReadLimit byte dibaca.

Boolean

Mengembalikan nilai true jika stream ini

markSupported()

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

2. Baca file

3. Tulis file

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.