JDK-8191706: Proposal to add Reader::transferTo(Writer)
Patrick Reinhart
patrick at reini.net
Tue Nov 21 19:56:01 UTC 2017
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