The class adds functionality to another input stream, the ability to buffer the input and to support the mark and reset methods.Following are the important points about BufferedInputStream:

  • When the BufferedInputStream is created, an internal buffer array is created.

  • As bytes from the stream are read or skipped, the internal buffer is refilled as necessary from the contained input stream, many bytes at a time.

Class declaration

Following is the declaration for class:

public class BufferedInputStream
   extends FilterInputStream


Following are the fields for class:

  • protected byte[] buf -- This is the internal buffer array where the data is stored.

  • protected int count -- This is the index one greater than the index of the last valid byte in the buffer.

  • protected int marklimit -- This is the maximum read ahead allowed after a call to the mark method before subsequent calls to the reset method fail.

  • protected int markpos -- This is the value of the pos field at the time the last mark method was called.

  • protected int pos -- This is the current position in the buffer.

  • protected InputStream in -- This is the input stream to be filtered.

Class constructors

S.N.Constructor & Description
1BufferedInputStream(InputStream in)
This creates a BufferedInputStream and saves its argument, the input stream in, for later use.
2BufferedInputStream(InputStream in, int size)
This creates a BufferedInputStream with the specified buffer size, and saves its argument, the input stream in, for later use.

Class methods

S.N.Method & Description
1 int available()
This method returns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking by the next invocation of a method for this input stream.
2 void close()
This method closes this input stream and releases any system resources associated with the stream.
3 void mark(int readlimit)
This method see the general contract of the mark method of InputStream.
4 boolean markSupported()
This method tests if this input stream supports the mark and reset methods.
5 int read()
This method reads the next byte of data from the input stream.
6 int read(byte[] b, int off, int len)
This method reads bytes from this byte-input stream into the specified byte array, starting at the given offset.
7 void reset()
This method repositions this stream to the position at the time the mark method was last called on this input stream..
8 long skip(long n)
This method skips over and discards n bytes of data from this input stream.

Methods inherited

This class inherits methods from the following classes: