JDK-8191706: Proposal to add Reader::transferTo(Writer)
Brian Burkhalter
brian.burkhalter at oracle.com
Tue Nov 21 20:50:57 UTC 2017
Hi Patrick,
This looks fine from my point of view. It exactly mirrors InputStream.transferTo(OutputStream) with which I expect everyone will concur.
Thanks,
Brian
On Nov 21, 2017, at 11:56 AM, Patrick Reinhart <patrick at reini.net> wrote:
> Hi there out a the review [1] for JDK-8066870, that will need some more
> working on, I created this specific issue to add an transferTo method to
> the java.io.Reader as it seems more clear as of the similarity to
> java.io.InputStream.transferTo(java.io.OutputStream) in terms of the API.
>
> To start the discussion I got the proposed API:
>
> /**
> * Reads all characters from this reader and writes the characters to the
> * given writer in the order that they are read. On return, this reader
> * will be at end of the data. This method does not close either reader
> * or writer.
> * <p>
> * This method may block indefinitely reading from the reader, or
> * writing to the writer. The behavior for the case where the reader
> * and/or writer is <i>asynchronously closed</i>, or the thread
> * interrupted during the transfer, is highly reader and writer
> * specific, and therefore not specified.
> * <p>
> * If an I/O error occurs reading from the reader or writing to the
> * writer, then it may do so after some characters have been read or
> * written. Consequently the reader may not be at end of the data and
> * one, or both, streams may be in an inconsistent state. It is strongly
> * recommended that both streams be promptly closed if an I/O error occurs.
> *
> * @param out the writer, non-null
> * @return the number of characters transferred
> * @throws IOException if an I/O error occurs when reading or writing
> * @throws NullPointerException if {@code out} is {@code null}
> *
> * @since 10
> */
> public long transferTo(Writer out) throws IOException {
> ....
> }
>
>
> -Patrick
>
>
> [1]
> http://mail.openjdk.java.net/pipermail/core-libs-dev/2017-November/050064.html
>
>
>
>
More information about the core-libs-dev
mailing list