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 <[email protected]> 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 > > > >
