Stream IO

Yak , berjumpa lagi dengan saya Yudha :D yang setelah sekian lama tak muncul di blog, haha..
Kali ini saya akan posting tentang bebrapa ilmu atau materi dari JAVA yang saya dapat dari sekolah, SMK Telkom Sandhy Ptra Malang :)

Yang pertama adalah tentang Stream IO..

 A. PENGERTIAN
Sistem IO di Java adalah bagian dari library Java yang bertugas menangani input dan output dalam sebuah program Java. Input dan output ini bentuknya bisa bermacam-macam, di antaranya:
  1. Menangani input dan output dari dan ke standar output
  2. Menangani operasi file (membaca atau menulis file)
  3. Memproses data yang masuk melalui soket, dll
Arsitektur library IO di Java dirancang sedemikian rupa sehingga memudahkan dilakukannya ekstensi terhadap library yang sudah ada. Akan tetapi, rancangan tersebut membuat banyak orang yang baru belajar Java menjadi agak sulit untuk memahami sistem IO ini. Di post ini saya akan mencoba menjelaskan dasar dari sistem IO ini.

Pada dasarnya, membaca atau menulis IO itu adalah melakukan operasi pembacaan dan penulisan array of byte. Untuk urusan input, kelas dasar yang digunakan adalah java.io.InputStream, sementara untuk urusan output yang digunakan adalah kelas java.io.OutputStream. Kedua kelas tersebut merupakan kelas abstrak yang akan menjadi kelas dasar dalam IO di Java. Kelas-kelas yang mengimplementasikan InputStream antara lain AudioInputStream untuk membaca file dalam format audio, ByteArrayInputStream untuk membaca input dalam format byte array.


Walaupun sebenarnya operasi IO adalah operasi pembacaan dan penulisan array of byte, akan tetapi seringkali kita butuh untuk membaca dan menulis dalam format teks. Untuk lebih memudahkan dalam melakukan hal tersebut, Java menyediakan kelas abstrak Reader untuk melakukan operasi pembacaan stream dalam format teks dan kelas abstrak Writer untuk melakukan penulisan dalam format teks. Kelas-kelas yang mengimplementasikan kelas Reader antaranya InputStreamReader, BufferedReader, dan FileReader. (sumber : http://ngodingdulu.wordpress.com/2011/08/07/mengenal-sistem-io-di-java/)

B. KONSEP DASAR
Stream adalah representasi abstrak dari aliran data yang berjalan dari sumber (input stream) ke tujuan (output stream)

contohnya :
-membaca dan menulis file di dan ke harddisk
-membaca dan menulis teks ke console
-membaca dan menulis melalui network

Untuk membaca, program membuka stream pada sumber ( file, memory, socket) dan membaca informasi secara sekuensial.



Untuk menulis, program mengirim informasi ke tujuan dengan cara membuka stream tujuan, selanjutnya menulis informasi secara sekuensial.
 Byte Stream
 Character Stream

 Cara menggunakan Stream:
-input stream:
  1. Membuat objek yg berasosiasi dengan data source Contoh : FileInputStream
  2. Membaca informasi dari stream dengan menggunakan method objek tersebut Contoh: read()
  3. Bila selesai, panggil method close. 
 -output stream:
  1. Membuat objek yg berasosiasi dg data destination. Contoh : BufferedWriter
  2. Menulis informasi ke stream tujuan dg menggunakan method objek tersebut. Contoh: write() 
  3. Bila selesai, panggil method close.

InputStream dan OutputStream adalah abstract class untuk stream I/O, yaitu untuk membaca dan menulis data dari dan ke file.
Untuk membaca digunakan class yang mengimplementasikan InputStream, contoh : FileInputStream.
Untuk menulis digunakan class yang mengimplementasikan OutputStream, contoh : FileOutputStream.
Hirarki Class InputStream dan OutputStream
InputStream
  • FileInputStream 
  • ByteArrayInputStream 
  • FilterInputStream 
  • DataInputStream 
  • BufferedInputStream 
  • PushbackInputStream 
  • ObjectInputStream 
  • PipedInputStream 
  • SequenceInputStream
 OutputStream
  • FileOutputStream 
  • ByteArrayOutputStream 
  • FilterOutputStream
  • DataOutputStream
  • BufferedOutputStream
  • PrintStream
  • ObjectOutputStream
  • PipedOutputStream 
C. CONTOH PROGRAM

1. Definisikan nama file yang akan dibaca melalui class File, atau nama file lengkap dengan path.
2. Periksa apakah file tersebut ada (exist) dan tipenya adalah file (bukan direktori).
3. Siapkan obyek FileInputStream untuk membaca isi file.
4. Baca input dengan menggunakan method read(), dan bila tidak ada input lagi, FileInputStream memberikan indikator -1 sebagai tanda tidak ada lagidata yang akan dibaca.
5. Gunakan method close() untuk menutup FileStream.


sumber : http://gheasafferina.blogspot.com/2012/03/mengenal-stream-io.html
 

0 komentar:

Posting Komentar