Java IO : Mengkombinasikan Streams

Oleh : Reza Ervani

بسم الله الرحمن الرحيم

Kita dapat mengkombinasikan stream ke dalam suatu mata rantai untuk mencapai operasi input dan output yang lebih advance. Sebagai contoh, membaca byte satu per satu dari sebuah file adalah hal yang lambat. Adalah lebih cepat membaca suatu blok data yang lebih besar dari disk dan kemudian melakukan iterasi melalui blok tersebut byte per byte-nya. Untuk mencapai buffering kita dapat mengurung InputStream ke dalam suatu BufferedInputStream. Berikut contohnya :

InputStream input = new BufferedInputStream(
                        new FileInputStream("/home/rezaervani/Documents/data/input"));

...

Buffering dapat juga diterapkan ke OutputStream‘s sehingga batching yang menulis ke disk (atau stream terkait) menjadi potongan yang lebih besar. Hal ini dapat mempercepat proses output pula.

Buffering hanyalah satu efek yang dapat kita capat dengan mengkombinasi stream. Kita juga dapat mengurung InputStream dalam suatu PushbackStream. Dengan cara tersebut kita dapat mendorong data kembali ke stream untuk dibaca ulang nantinya. Hal ini terkadang membantu saat melakukan parsing.

Ada beberapa efek lain yang dapat dicapai dengan mengkombinasikan stream input dan output ke dalam satu mata rantai. Kita bahkan dapat menulis class stream kita sendiri untuk melakukan wrap class stream strandar yang ada di Java. Dengan demikian kita dapat membuat efek atau filter kita sendiri.

About Reza Ervani
Adalah pendiri programming.rezaervani.com -

About Reza Ervani 381 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.