Java Fundamental Classes Reference

Previous Chapter 11
The java.io Package
Next
 

FilterInputStream

Name

FilterInputStream

Synopsis

Class Name:

java.io.FilterInputStream

Superclass:

java.io.InputStream

Immediate Subclasses:

java.io.BufferedInputStream,

java.io.DataInputStream,

java.io.LineNumberInputStream,

java.io.PushbackInputStream,

java.util.zip.CheckedInputStream,

java.util.zip.InflaterInputStream

Interfaces Implemented:

None

Availability:

JDK 1.0 or later

Description

The FilterInputStream class is the superclass of all of the input stream classes that filter input. Each of the subclasses of FilterInputStream works by wrapping an existing input stream, called the underlying input stream, and providing additional functionality. The methods of FilterInputStream simply override the methods of InputStream with versions that call the corresponding methods of the underlying stream.

FilterInputStream cannot be instantiated directly; it must be subclassed. An instance of one of the subclasses of FilterInputStream is constructed with another InputStream object. The methods of a subclass of FilterInputStream should override some methods in order to extend their behavior or provide some sort of filtering.

Class Summary

public class java.io.FilterInputStream extends java.io.InputStream {
  // Variables
  protected InputStream in;
  // Constructors
  protected FilterInputStream(InputStream in);
  // Instance Methods
  public int available();
  public void close();
  public synchronized void mark(int readlimit);
  public boolean markSupported();
  public int read();
  public int read(byte[] b);
  public int read(byte[] b, int off, int len);
  public synchronized void reset();
  public long skip(long n);
}

Variables

in

protected InputStream in

Description

The underlying stream that this FilterInputStream wraps or filters.

Constructors

FilterInputStream

protected FilterInputStream(InputStream in)

Parameters

in

The input stream to filter.

Description

This constructor creates a FilterInputStream that gets its data from in.

Instance Methods

available

public int available() throws IOException

Returns

The number of bytes that can be read without blocking.

Throws

IOException

If any kind of I/O error occurs.

Overrides

InputStream.available()

Description

This method calls the available() method of the underlying stream and returns the result.

close

public void close() throws IOException

Throws

IOException

If any kind of I/O error occurs.

Overrides

InputStream.close()

Description

This method calls the close() method of the underlying stream, which releases any system resources associated with this object.

mark

public synchronized void mark(int readlimit)

Parameters

readlimit

The maximum number of bytes that can be read before the saved position becomes invalid.

Overrides

InputStream.mark()

Description

This method calls the mark() method of the underlying stream. If the underlying stream supports mark() and reset(), this method causes the FilterInputStream to remember its current position. A subsequent call to reset() causes the object to return to that saved position, and thus re-read a portion of the input.

markSupported

public boolean markSupported()

Returns

true if this stream supports mark() and reset(); false otherwise.

Overrides

InputStream.markSupported()

Description

This method calls the markSupported() method of the underlying stream and returns the result.

read

public int read() throws IOException

Returns

The next byte of data or -1 if the end of the stream is encountered.

Throws

IOException

If any kind of I/O error occurs.

Overrides

InputStream.read()

Description

This method calls the read() method of the underlying stream and returns the result. This method blocks until some data is available, the end of the stream is detected, or an exception is thrown.

public int read(byte[] b) throws IOException

Parameters

b

An array of bytes to be filled from the stream.

Returns

The actual number of bytes read or -1 if the end of the stream is encountered immediately.

Throws

IOException

If any kind of I/O error occurs.

Overrides

InputStream.read(byte[])

Description

This method reads bytes of input to fill the given array. It does this by calling read(b, 0, b.length), which allows subclasses to only override read(byte[], int, int) and have read(byte[]) work automatically. The method blocks until some data is available.

public int read(byte[] b, int off, int len) throws IOException

Parameters

b

An array of bytes to be filled from the stream.

off

An offset into the byte array.

len

The number of bytes to read.

Returns

The actual number of bytes read or -1 if the end of the stream is encountered immediately.

Throws

IOException

If any kind of I/O error occurs.

Overrides

InputStream.read(byte[], int, int)

Description

This method reads up to len bytes of input into the given array starting at index off. It does this by calling the read(byte[], int, int) method of the underlying stream and returning the result. The method blocks until some data is available.

reset

public synchronized void reset() throws IOException

Throws

IOException

If there was no previous call to the mark() method or the saved position has been invalidated.

Overrides

InputStream.reset()

Description

This method calls the reset() method of the underlying stream. If the underlying stream supports mark() and reset(), this method sets the position of the FilterInputStream to a position that was saved by a previous call to mark(). Subsequent bytes read from this FilterInputStream will begin from the saved position and continue normally.

skip

public long skip(long n) throws IOException

Parameters

n

The number of bytes to skip.

Returns

The actual number of bytes skipped.

Throws

IOException

If any kind of I/O error occurs.

Overrides

InputStream.skip()

Description

This method skips n bytes of input. It calls the skip() method of the underlying stream.

Inherited Methods

Method

Inherited From

Method

Inherited From

clone()

Object

equals(Object)

Object

finalize()

Object

getClass()

Object

hashCode()

Object

notify()

Object

notifyAll()

Object

toString()

Object

wait()

Object

wait(long)

Object

wait(long, int)

Object

   

See Also

BufferedInputStream, CheckedInputStream, DataInputStream, FilterInputStream, InflaterInputStream, InputStream, IOException, LineNumberInputStream, PushbackInputStream


Previous Home Next
FileWriter Book Index FilterOutputStream

Java in a Nutshell Java Language Reference Java AWT Java Fundamental Classes Exploring Java