RFR: JDK-8191706: Add Reader::transferTo(Writer)
Patrick Reinhart
patrick at reini.net
Tue Nov 21 22:33:49 UTC 2017
Here's the implementation and test..
http://cr.openjdk.java.net/~reinhapa/reviews/8191706/webrev.00
-Patrick
Am 21.11.2017 um 23:07 schrieb Brian Goetz:
> Looks good.
>
> On 11/21/2017 2:56 PM, Patrick Reinhart 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