RFR JDK-8003258(2nd round): BufferedReader.lines()

Henry Jen henry.jen at oracle.com
Wed May 1 23:49:58 PDT 2013


Hi,

Take feedbacks from previous round, the javadoc is updated

http://cr.openjdk.java.net/~henryjen/ccc/8003258.2/webrev/
http://cr.openjdk.java.net/~henryjen/ccc/8003258.2/specdiff/

>     /**
>      * Returns a {@code Stream}, the elements of which are lines read from
>      * this {@code BufferedReader}.  The {@link Stream} 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 {@link IOException} is thrown when accessing the underlying
>      * {@code BufferedReader}, it is wrapped in an {@link
>      * UncheckedIOException} which will be thrown from the {@code Stream}
>      * method that caused the read to take place. For example, when trying to
>      * read from the {@code Stream} after the {@code BufferedReader} is
>      * closed, will throw an {@code UncheckedIOException}. Note that This
>      * method will return the {@code Stream} even if this {@code
>      * BufferedReader} is closed, but the operation cause reading will throw
>      * {@code UncheckedIOException}.
>      *
>      * @return a {@code Stream<String>} providing the lines of text
>      *         described by this {@code BufferedReader}
>      *
>      * @since 1.8
>      */
>     public Stream<String> lines() {}


Cheers,
Henry


More information about the lambda-dev mailing list