public class BufferedReader extends Reader
The buffer size may be specified, or the default size may be used. The default is large enough for most purposes.
In general, each read request made of a Reader causes a corresponding read request to be made of the underlying character or byte stream. It is therefore advisable to wrap a BufferedReader around any Reader whose read() operations may be costly, such as FileReaders and InputStreamReaders. For example,
 BufferedReader in
   = new BufferedReader(new FileReader("foo.in"));
 
 will buffer the input from the specified file.  Without buffering, each
 invocation of read() or readLine() could cause bytes to be read from the
 file, converted into characters, and then returned, which can be very
 inefficient.
 Programs that use DataInputStreams for textual input can be localized by replacing each DataInputStream with an appropriate BufferedReader.
FileReader, 
InputStreamReader, 
Files.newBufferedReader(java.nio.file.Path, java.nio.charset.Charset)| Constructor and Description | 
|---|
| BufferedReader(Reader in)Creates a buffering character-input stream that uses a default-sized
 input buffer. | 
| BufferedReader(Reader in,
              int sz)Creates a buffering character-input stream that uses an input buffer of
 the specified size. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | close()Closes the stream and releases any system resources associated with
 it. | 
| Stream<String> | lines()Returns a  Stream, the elements of which are lines read from
 thisBufferedReader. | 
| void | mark(int readAheadLimit)Marks the present position in the stream. | 
| boolean | markSupported()Tells whether this stream supports the mark() operation, which it does. | 
| int | read()Reads a single character. | 
| int | read(char[] cbuf,
    int off,
    int len)Reads characters into a portion of an array. | 
| String | readLine()Reads a line of text. | 
| boolean | ready()Tells whether this stream is ready to be read. | 
| void | reset()Resets the stream to the most recent mark. | 
| long | skip(long n)Skips characters. | 
public BufferedReader(Reader in, int sz)
in - A Readersz - Input-buffer sizeIllegalArgumentException - If sz <= 0public BufferedReader(Reader in)
in - A Readerpublic int read()
         throws IOException
read in class ReaderIOException - If an I/O error occurspublic int read(char[] cbuf,
                int off,
                int len)
         throws IOException
 This method implements the general contract of the corresponding
 readReaderread method of the underlying stream.  This iterated
 read continues until one of the following conditions becomes
 true: 
read method of the underlying stream returns
   -1, indicating end-of-file, or
   ready method of the underlying stream
   returns false, indicating that further input requests
   would block.
 read on the underlying stream returns
 -1 to indicate end-of-file then this method returns
 -1.  Otherwise this method returns the number of characters
 actually read.
 Subclasses of this class are encouraged, but not required, to attempt to read as many characters as possible in the same fashion.
 Ordinarily this method takes characters from this stream's character
 buffer, filling it from the underlying stream as necessary.  If,
 however, the buffer is empty, the mark is not valid, and the requested
 length is at least as large as the buffer, then this method will read
 characters directly from the underlying stream into the given array.
 Thus redundant BufferedReaders will not copy data
 unnecessarily.
read in class Readercbuf - Destination bufferoff - Offset at which to start storing characterslen - Maximum number of characters to readIOException - If an I/O error occurspublic String readLine() throws IOException
IOException - If an I/O error occursFiles.readAllLines(java.nio.file.Path, java.nio.charset.Charset)public long skip(long n)
          throws IOException
skip in class Readern - The number of characters to skipIllegalArgumentException - If n is negative.IOException - If an I/O error occurspublic boolean ready()
              throws IOException
ready in class ReaderIOException - If an I/O error occurspublic boolean markSupported()
markSupported in class Readerpublic void mark(int readAheadLimit)
          throws IOException
mark in class ReaderreadAheadLimit - Limit on the number of characters that may be
                         read while still preserving the mark. An attempt
                         to reset the stream after reading characters
                         up to this limit or beyond may fail.
                         A limit value larger than the size of the input
                         buffer will cause a new buffer to be allocated
                         whose size is no smaller than limit.
                         Therefore large values should be used with care.IllegalArgumentException - If readAheadLimit < 0IOException - If an I/O error occurspublic void reset()
           throws IOException
reset in class ReaderIOException - If the stream has never been marked,
                          or if the mark has been invalidatedpublic void close()
           throws IOException
Readerclose in interface Closeableclose in interface AutoCloseableclose in class ReaderIOException - If an I/O error occurspublic Stream<String> lines()
Stream, the elements of which are lines read from
 this BufferedReader.  The Stream is lazily populated,
 i.e., read only occurs during the
 terminal
 stream operation.
 The reader must not be operated on during the execution of the terminal stream operation. Otherwise, the result of the terminal stream operation is undefined.
After execution of the terminal stream operation there are no guarantees that the reader will be at a specific position from which to read the next character or line.
 If an IOException is thrown when accessing the underlying
 BufferedReader, it is wrapped in an UncheckedIOException which will be thrown from the Stream
 method that caused the read to take place. This method will return a
 Stream if invoked on a BufferedReader that is closed. Any operation on
 that stream that requires reading from the BufferedReader after it is
 closed, will cause an UncheckedIOException to be thrown.
Stream<String> providing the lines of text
         described by this BufferedReader Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2017, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.