<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_202) on Sat Dec 15 23:30:16 PST 2018 -->
<title>BufferedReader (Java Platform SE 8 )</title>
<meta name="date" content="2018-12-15">
<meta name="keywords" content="java.io.BufferedReader class">
<meta name="keywords" content="read()">
<meta name="keywords" content="readLine()">
<meta name="keywords" content="skip()">
<meta name="keywords" content="ready()">
<meta name="keywords" content="markSupported()">
<meta name="keywords" content="mark()">
<meta name="keywords" content="reset()">
<meta name="keywords" content="close()">
<meta name="keywords" content="lines()">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="BufferedReader (Java Platform SE 8 )";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BufferedReader.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-files/index-1.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><strong>Java&trade;&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;8</strong></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../java/io/BufferedOutputStream.html" title="class in java.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../java/io/BufferedWriter.html" title="class in java.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?java/io/BufferedReader.html" target="_top">Frames</a></li>
<li><a href="BufferedReader.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.java.io.Reader">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">compact1, compact2, compact3</div>
<div class="subTitle">java.io</div>
<h2 title="Class BufferedReader" class="title">Class BufferedReader</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../java/io/Reader.html" title="class in java.io">java.io.Reader</a></li>
<li>
<ul class="inheritance">
<li>java.io.BufferedReader</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../java/io/Closeable.html" title="interface in java.io">Closeable</a>, <a href="../../java/lang/AutoCloseable.html" title="interface in java.lang">AutoCloseable</a>, <a href="../../java/lang/Readable.html" title="interface in java.lang">Readable</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../java/io/LineNumberReader.html" title="class in java.io">LineNumberReader</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">BufferedReader</span>
extends <a href="../../java/io/Reader.html" title="class in java.io">Reader</a></pre>
<div class="block">Reads text from a character-input stream, buffering characters so as to
 provide for the efficient reading of characters, arrays, and lines.

 <p> The buffer size may be specified, or the default size may be used.  The
 default is large enough for most purposes.

 <p> 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,

 <pre>
 BufferedReader in
   = new BufferedReader(new FileReader("foo.in"));
 </pre>

 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.

 <p> Programs that use DataInputStreams for textual input can be localized by
 replacing each DataInputStream with an appropriate BufferedReader.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JDK1.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../java/io/FileReader.html" title="class in java.io"><code>FileReader</code></a>, 
<a href="../../java/io/InputStreamReader.html" title="class in java.io"><code>InputStreamReader</code></a>, 
<a href="../../java/nio/file/Files.html#newBufferedReader-java.nio.file.Path-java.nio.charset.Charset-"><code>Files.newBufferedReader(java.nio.file.Path, java.nio.charset.Charset)</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.java.io.Reader">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;java.io.<a href="../../java/io/Reader.html" title="class in java.io">Reader</a></h3>
<code><a href="../../java/io/Reader.html#lock">lock</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../java/io/BufferedReader.html#BufferedReader-java.io.Reader-">BufferedReader</a></span>(<a href="../../java/io/Reader.html" title="class in java.io">Reader</a>&nbsp;in)</code>
<div class="block">Creates a buffering character-input stream that uses a default-sized
 input buffer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../java/io/BufferedReader.html#BufferedReader-java.io.Reader-int-">BufferedReader</a></span>(<a href="../../java/io/Reader.html" title="class in java.io">Reader</a>&nbsp;in,
              int&nbsp;sz)</code>
<div class="block">Creates a buffering character-input stream that uses an input buffer of
 the specified size.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../java/io/BufferedReader.html#close--">close</a></span>()</code>
<div class="block">Closes the stream and releases any system resources associated with
 it.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../java/util/stream/Stream.html" title="interface in java.util.stream">Stream</a>&lt;<a href="../../java/lang/String.html" title="class in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../java/io/BufferedReader.html#lines--">lines</a></span>()</code>
<div class="block">Returns a <code>Stream</code>, the elements of which are lines read from
 this <code>BufferedReader</code>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../java/io/BufferedReader.html#mark-int-">mark</a></span>(int&nbsp;readAheadLimit)</code>
<div class="block">Marks the present position in the stream.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../java/io/BufferedReader.html#markSupported--">markSupported</a></span>()</code>
<div class="block">Tells whether this stream supports the mark() operation, which it does.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../java/io/BufferedReader.html#read--">read</a></span>()</code>
<div class="block">Reads a single character.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../java/io/BufferedReader.html#read-char:A-int-int-">read</a></span>(char[]&nbsp;cbuf,
    int&nbsp;off,
    int&nbsp;len)</code>
<div class="block">Reads characters into a portion of an array.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../java/io/BufferedReader.html#readLine--">readLine</a></span>()</code>
<div class="block">Reads a line of text.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../java/io/BufferedReader.html#ready--">ready</a></span>()</code>
<div class="block">Tells whether this stream is ready to be read.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../java/io/BufferedReader.html#reset--">reset</a></span>()</code>
<div class="block">Resets the stream to the most recent mark.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../java/io/BufferedReader.html#skip-long-">skip</a></span>(long&nbsp;n)</code>
<div class="block">Skips characters.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.io.Reader">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.io.<a href="../../java/io/Reader.html" title="class in java.io">Reader</a></h3>
<code><a href="../../java/io/Reader.html#read-char:A-">read</a>, <a href="../../java/io/Reader.html#read-java.nio.CharBuffer-">read</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="../../java/lang/Object.html" title="class in java.lang">Object</a></h3>
<code><a href="../../java/lang/Object.html#clone--">clone</a>, <a href="../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../java/lang/Object.html#notify--">notify</a>, <a href="../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../java/lang/Object.html#toString--">toString</a>, <a href="../../java/lang/Object.html#wait--">wait</a>, <a href="../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="BufferedReader-java.io.Reader-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BufferedReader</h4>
<pre>public&nbsp;BufferedReader(<a href="../../java/io/Reader.html" title="class in java.io">Reader</a>&nbsp;in,
                      int&nbsp;sz)</pre>
<div class="block">Creates a buffering character-input stream that uses an input buffer of
 the specified size.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>in</code> - A Reader</dd>
<dd><code>sz</code> - Input-buffer size</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - If <code>sz &lt;= 0</code></dd>
</dl>
</li>
</ul>
<a name="BufferedReader-java.io.Reader-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BufferedReader</h4>
<pre>public&nbsp;BufferedReader(<a href="../../java/io/Reader.html" title="class in java.io">Reader</a>&nbsp;in)</pre>
<div class="block">Creates a buffering character-input stream that uses a default-sized
 input buffer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>in</code> - A Reader</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="read--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre>public&nbsp;int&nbsp;read()
         throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">Reads a single character.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../java/io/Reader.html#read--">read</a></code>&nbsp;in class&nbsp;<code><a href="../../java/io/Reader.html" title="class in java.io">Reader</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The character read, as an integer in the range
         0 to 65535 (<tt>0x00-0xffff</tt>), or -1 if the
         end of the stream has been reached</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - If an I/O error occurs</dd>
</dl>
</li>
</ul>
<a name="read-char:A-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre>public&nbsp;int&nbsp;read(char[]&nbsp;cbuf,
                int&nbsp;off,
                int&nbsp;len)
         throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">Reads characters into a portion of an array.

 <p> This method implements the general contract of the corresponding
 <code><a href="../../java/io/Reader.html#read-char:A-int-int-"><code>read</code></a></code> method of the
 <code><a href="../../java/io/Reader.html" title="class in java.io"><code>Reader</code></a></code> class.  As an additional convenience, it
 attempts to read as many characters as possible by repeatedly invoking
 the <code>read</code> method of the underlying stream.  This iterated
 <code>read</code> continues until one of the following conditions becomes
 true: <ul>

   <li> The specified number of characters have been read,

   <li> The <code>read</code> method of the underlying stream returns
   <code>-1</code>, indicating end-of-file, or

   <li> The <code>ready</code> method of the underlying stream
   returns <code>false</code>, indicating that further input requests
   would block.

 </ul> If the first <code>read</code> on the underlying stream returns
 <code>-1</code> to indicate end-of-file then this method returns
 <code>-1</code>.  Otherwise this method returns the number of characters
 actually read.

 <p> Subclasses of this class are encouraged, but not required, to
 attempt to read as many characters as possible in the same fashion.

 <p> 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 <code>BufferedReader</code>s will not copy data
 unnecessarily.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../java/io/Reader.html#read-char:A-int-int-">read</a></code>&nbsp;in class&nbsp;<code><a href="../../java/io/Reader.html" title="class in java.io">Reader</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cbuf</code> - Destination buffer</dd>
<dd><code>off</code> - Offset at which to start storing characters</dd>
<dd><code>len</code> - Maximum number of characters to read</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of characters read, or -1 if the end of the
             stream has been reached</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - If an I/O error occurs</dd>
</dl>
</li>
</ul>
<a name="readLine--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readLine</h4>
<pre>public&nbsp;<a href="../../java/lang/String.html" title="class in java.lang">String</a>&nbsp;readLine()
                throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">Reads a line of text.  A line is considered to be terminated by any one
 of a line feed ('\n'), a carriage return ('\r'), or a carriage return
 followed immediately by a linefeed.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A String containing the contents of the line, not including
             any line-termination characters, or null if the end of the
             stream has been reached</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - If an I/O error occurs</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../java/nio/file/Files.html#readAllLines-java.nio.file.Path-java.nio.charset.Charset-"><code>Files.readAllLines(java.nio.file.Path, java.nio.charset.Charset)</code></a></dd>
</dl>
</li>
</ul>
<a name="skip-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>skip</h4>
<pre>public&nbsp;long&nbsp;skip(long&nbsp;n)
          throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">Skips characters.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../java/io/Reader.html#skip-long-">skip</a></code>&nbsp;in class&nbsp;<code><a href="../../java/io/Reader.html" title="class in java.io">Reader</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>n</code> - The number of characters to skip</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of characters actually skipped</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - If <code>n</code> is negative.</dd>
<dd><code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - If an I/O error occurs</dd>
</dl>
</li>
</ul>
<a name="ready--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ready</h4>
<pre>public&nbsp;boolean&nbsp;ready()
              throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">Tells whether this stream is ready to be read.  A buffered character
 stream is ready if the buffer is not empty, or if the underlying
 character stream is ready.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../java/io/Reader.html#ready--">ready</a></code>&nbsp;in class&nbsp;<code><a href="../../java/io/Reader.html" title="class in java.io">Reader</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the next read() is guaranteed not to block for input,
 false otherwise.  Note that returning false does not guarantee that the
 next read will block.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - If an I/O error occurs</dd>
</dl>
</li>
</ul>
<a name="markSupported--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>markSupported</h4>
<pre>public&nbsp;boolean&nbsp;markSupported()</pre>
<div class="block">Tells whether this stream supports the mark() operation, which it does.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../java/io/Reader.html#markSupported--">markSupported</a></code>&nbsp;in class&nbsp;<code><a href="../../java/io/Reader.html" title="class in java.io">Reader</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if and only if this stream supports the mark operation.</dd>
</dl>
</li>
</ul>
<a name="mark-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mark</h4>
<pre>public&nbsp;void&nbsp;mark(int&nbsp;readAheadLimit)
          throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">Marks the present position in the stream.  Subsequent calls to reset()
 will attempt to reposition the stream to this point.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../java/io/Reader.html#mark-int-">mark</a></code>&nbsp;in class&nbsp;<code><a href="../../java/io/Reader.html" title="class in java.io">Reader</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>readAheadLimit</code> - 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.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - If <code>readAheadLimit &lt; 0</code></dd>
<dd><code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - If an I/O error occurs</dd>
</dl>
</li>
</ul>
<a name="reset--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset()
           throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">Resets the stream to the most recent mark.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../java/io/Reader.html#reset--">reset</a></code>&nbsp;in class&nbsp;<code><a href="../../java/io/Reader.html" title="class in java.io">Reader</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - If the stream has never been marked,
                          or if the mark has been invalidated</dd>
</dl>
</li>
</ul>
<a name="close--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;close()
           throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../java/io/Reader.html#close--">Reader</a></code></span></div>
<div class="block">Closes the stream and releases any system resources associated with
 it.  Once the stream has been closed, further read(), ready(),
 mark(), reset(), or skip() invocations will throw an IOException.
 Closing a previously closed stream has no effect.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../java/io/Closeable.html#close--">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../java/io/Closeable.html" title="interface in java.io">Closeable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../java/lang/AutoCloseable.html#close--">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../java/lang/AutoCloseable.html" title="interface in java.lang">AutoCloseable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../java/io/Reader.html#close--">close</a></code>&nbsp;in class&nbsp;<code><a href="../../java/io/Reader.html" title="class in java.io">Reader</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - If an I/O error occurs</dd>
</dl>
</li>
</ul>
<a name="lines--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>lines</h4>
<pre>public&nbsp;<a href="../../java/util/stream/Stream.html" title="interface in java.util.stream">Stream</a>&lt;<a href="../../java/lang/String.html" title="class in java.lang">String</a>&gt;&nbsp;lines()</pre>
<div class="block">Returns a <code>Stream</code>, the elements of which are lines read from
 this <code>BufferedReader</code>.  The <a href="../../java/util/stream/Stream.html" title="interface in java.util.stream"><code>Stream</code></a> is lazily populated,
 i.e., read only occurs during the
 <a href="../util/stream/package-summary.html#StreamOps">terminal
 stream operation</a>.

 <p> 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.

 <p> 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.

 <p> If an <a href="../../java/io/IOException.html" title="class in java.io"><code>IOException</code></a> is thrown when accessing the underlying
 <code>BufferedReader</code>, it is wrapped in an <a href="../../java/io/UncheckedIOException.html" title="class in java.io"><code>UncheckedIOException</code></a> which will be thrown from the <code>Stream</code>
 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.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <code>Stream&lt;String&gt;</code> providing the lines of text
         described by this <code>BufferedReader</code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.8</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BufferedReader.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-files/index-1.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><strong>Java&trade;&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;8</strong></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../java/io/BufferedOutputStream.html" title="class in java.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../java/io/BufferedWriter.html" title="class in java.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?java/io/BufferedReader.html" target="_top">Frames</a></li>
<li><a href="BufferedReader.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.java.io.Reader">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><font size="-1"> <a href="http://bugreport.sun.com/bugreport/">Submit a bug or feature</a> <br>For further API reference and developer documentation, see <a href="https://docs.oracle.com/javase/8/docs/index.html" target="_blank">Java SE Documentation</a>. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.<br> <a href="../../../legal/cpyr.html">Copyright</a> &#x00a9; 1993, 2018, Oracle and/or its affiliates.  All rights reserved. Use is subject to <a href="http://download.oracle.com/otndocs/jcp/java_se-8-mrel-spec/license.html">license terms</a>. Also see the <a target="_blank" href="http://www.oracle.com/technetwork/java/redist-137594.html">documentation redistribution policy</a>. </font></small></p>
</body>
</html>
