November 28, 2018 package


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

Sr.No. Constructor & Description
1 BufferedInputStream(InputStream in)

This creates a BufferedInputStream and saves its argument, the input stream in, for later use.

2 BufferedInputStream(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

Sr.No. 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 −