Home Java Example Java Io Introduction to Filter I/O Streams
Questions:Ask|Latest

 
 

Share on Google+Share on Google+

Introduction to Filter I/O Streams

Advertisement
As mentioned earlier, The InputStream and OutputStream classes are used for reading from and writing to byte streams, respectively.

Introduction to Filter I/O Streams

     

Introduction:

As mentioned earlier, The InputStream and OutputStream  classes are used for reading from and writing to byte streams, respectively. In this section, you are going to learn of data transforming and manipulating using Filter Streams

Like I/O streams, Filter streams are also used to manipulate data reading from an underlying stream. Apart from this, it allows the user to make a chain using multiple input stream so that, the operations that are to be applied on this chain, may create a combine effects on several filters. By using these streams, there is no need to convert the data from byte to char while writing to a file. These are the more powerful streams than the other streams of Java.

The class hierarchy of the Filter streams derived from I/O streams can be shown as:

There are two streams, that are derived from the I/O stream class:

  • FilterInputStream
  • FilterOutputstream

FilterInputStream:

FilterInputStream is the base class for all the input stream filters and is obtained from the InputStream class. It simply overrides all the methods of the InputStream class required to filter data. These methods performs some sort of filtering operations on the data and cannot be instantiated directly. It provides the additional and chaining functionality for the multiple input streams to be filtered.

The constructor of the FilterInputStream is written as:

FilterInputStream fis = new FilterInputStream(Inputstream in); 

FilterOutputstream:

FilterOutputStream is the super class of all the output stream filters and is obtained from the OutputStream class. It simply overrides all the methods of the OutputStream class required to filter the data that is written to the output stream.

FilterIntputStream and FilterOutputStream do not perform any filtering themselves; this is done by their subclasses. To improve the performance of these I/O streams, their subclasses BufferedInputStream and BufferedOutputStream are used.

BufferedInputStream:

This class is a subclass of the FilterInputstream class that lets you read large amount of data from a stream and store it in an internal buffer. When data is requested, it is usually read from the buffer. This has the effect for improving the performance of some input streams, especially for those, that are bounded to slower sources like a file or network connection.

The constructor of the BufferedInputStream is written as:

BufferedInputStream (java.io.InputStream in);

BufferedOutputStream:

This is a subclass of the BufferedOutputStream and a buffered output stream that lets you write characters to a stream. A BufferedOutputStream adds functionality to another output stream. The data is first written into a buffer. When the BufferedOutputStream is created, an internal buffer array is also created, in which the bytes are stored.

The constructor of the BufferedOutputStream is written as:

BufferedOutputStream (java.io.OutputStream out);

 

Advertisements

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: December 17, 2008

Related Tutorials

Ask Questions?    Discuss: Introduction to Filter I/O Streams   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
kuntal
June 21, 2011
on io

its interesting and also easy to understand .
DMCA.com