The class reads text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines.Following are the important points about BufferedReader −

  • The buffer size may be specified, or the default size may be used.

  • Each read request made of a Reader causes a corresponding read request to be made of the underlying character or byte stream.

Class declaration

Following is the declaration for class −

public class BufferedReader
   extends Reader


Following are the fields for class −

  • protected Object lock − This is the object used to synchronize operations on this stream.

Class constructors

Sr.No. Constructor & Description

BufferedReader(Reader in)

This creates a buffering character-input stream that uses a default-sized input buffer.


BufferedReader(Reader in, int sz)

This creates a buffering character-input stream that uses an input buffer of the specified size.

Class methods

Sr.No. Method & Description
1 void close()

This method closes the stream and releases any system resources associated with it.

2 void mark(int readAheadLimit)

This method marks the present position in the stream.

3 boolean markSupported()

This method tells whether this stream supports the mark() operation, which it does.

4 int read()

This method reads a single character.

5 int read(char[] cbuf, int off, int len)

This method reads characters into a portion of an array.

6 String readLine()

This method reads a line of text.

7 boolean ready()

This method tells whether this stream is ready to be read.

8 void reset()

This method resets the stream.

9 long skip(long n)

This method skips characters.

Methods inherited

This class inherits methods from the following classes −