STREAM
Pengertian stream Stream adalah proses untuk membaca data dari suatu sumber atau mengirimkan data ke suatu tujuan. Dalam java stream dibagi menjadi dua kelas yaitu InputStream untuk membaca dan OutputStream untuk menulis.
Bagaimana stream bekerja ? Pada prinsipnya terdapat dua kelas pada stream yaitu java.io.InputStream dan java.io. OutputStream yang kedua kelas tersebut adalah abstrak.
KELAS INPUT STREAM
Kelas InputStream Untuk menggunakan InputStream harus mengimport dengan pernyataan import.java.io.*. Hal ini disebabkan karena kebanyakan kelas yang berhubungan dengan stream berada pada paket java.io.*
Method-method yang ada di InputStream :
Kelas java.io.InputStream BENTUK METODE KETERANGAN Int available() throw java.io.exeption Menghasilkan sejumlah data yang telah tersedia untuk dibaca. Void close()throw java.io.exeption Untuk menutup stream. Void mark (int readLimit) Meletakkan posisi yang telah ditandai dengan menggunakan method Input Stream.reset(). Tidak semua inputan stream dapat disupport menggunakan fungsi ini. Boolean MarkSupported() Mengemblikan nilai benar jika input stream medukung method mark() dan reser(), dan akan bernilai salah jika tidak mendukung dari method tersebut. Int read() throw java.io.exeption Mengembalikan data berikutnya dari stream. Subclass dari InputStream biasanya tidak menggunakan method ini misalnya untuk membaca suatu file atau string.
Kelas java.io.InputStream BENTUK METODE KETERANGAN Int read(byte[] byte Array) throw java.io.exeption Membaca byte yang terurut dan meletakkan byte di dalam array yang dipanggil mengunakan method read() secara berulang-ulang sampai array terisi atau sampai tidak ada data ditemukan int read(byte[] byteArray, int offset, int length) throws java. io.IOException untuk byte yang terurut, menempatkan di dalam array. void reset() throws java.io.IOException memindahkan posisi dari input stream ke semula. Long skip (long amount) throws java.io.IOException. membaca, tetapi mengabaikan beberapa byte. Beberapa byte dibuang dan mengisinya dengan yang baru.
BACA STRING
HASIL EKSEKUSI Baca string Pada program di atas, pembacaan terhadap standard input dilakukan secara terus –menerus selama hasil read() tidak berupa -1 (menyatakan akhir berkas), tidak berupa kode untuk tombol Enter (dinyatakan dengan ‘\n’), atau terjadi sesuatu eksepsi . Dalam hal ini pengulangan terus dilakukan selama variabel selesai bernilai false.
BACA ARRAY
HASIL EKSEKUSI Baca ARRAY Input Kata ‘Dia’ Input Kata ‘ABC123456789’
Read ketiga
HASIL EKSEKUSI READKETIGA Array yang di rujuk oleh Buffer diisi dengan huruf A hingga H. Membaca 4 buah karakter dari standard input
BAHASA PEMROGRAMAN LANJUTAN KELAS OUTPUT STREAM BAHASA PEMROGRAMAN LANJUTAN
KELAS OUTPUTSTREAM Kelas yang berada pada paket java.io ini merupakan kelas abstrak yang menjadi dasar untuk semua stream keluaran. Kelas-kelas turunan dari kelas OutputStream yaitu ByteArrayOutputStream, FileOutputStream, FilterOutputStream, dan PipedOutputStream.
Low-level output stream Low-level OutputStream pada java.io. Low-level output stream Tujuan dari stream ByteArrayOutputStream menuliskan stream menjadi byte array. FileOutputStream menulis pada file PipedOutputStream menjadi output dari PipedInputStream. StringBufferOutputStream Menuliskan string buffer System.err Mengirim pesan kesalahan ke pengguna System.out Menampilkan hasil ke layar
Method yang terdapat pada Output stream :
BENTUK METODE KETERANGAN void close() throws java.io.IOException menutup output stream yang aktif dan melepaskan sumber daya terkait dengan stream tersebut. void flush() throws java.io.IOException melakukan flush output stream dan memaksa semua byte buffer untuk dituliskan keluar. void write(byte[] byteArray) throws java.io.IOException menulis sebanyak dari byte array ke output stream void write(byte[] byteArray, int offset, int length menuliskan sebanyak len byte dari byte array dimulai dari index off.
ContohWrite
HASIL EKSEKUSI ContohWrite System.out.write(buffer, 2, 5); isi array yang dirujuk oleh buffer dimulai ofset kedua sebanyak 5 karakter. System.out.write(buffer); penulisan yang menangkap eksepsi. System.out.flush(); di tuliskan ke stream
Kelas BYTE ARRAY OUTPUT STREAM
ByteArrayOS.java
Byte ArrayOS st.length() mendapatkan jumlah karakter dalam st. Hasil eksekusi st.length() mendapatkan jumlah karakter dalam st. st.charAt(i) mendapatkan sebuah karakter pada st yang terletak pada posisi i
KELAS BYTE ARRAY INPUT STREAM
ByteArrayIS.java
Byte arrayis Hasil eksekusi Kelas ByteArrayOuputStream berfungsi untuk menyalin isi keluaran
TestFile.java
TestFile.java Hasil eksekusi
BacaFile.java
BacaFile.java Hasil eksekusi
Kelas SequenceInputStream
GabungFile.java Hasil eksekusi
Terima Kasih