On 08/12/2014 11:48, Chris Hegarty wrote:
For completeness, here is the finalized spec that we intend to submit
for approval. Just some minor rewording and grammaticality amendments
over the previous.
/**
* Reads all bytes from this input stream and writes the bytes to
the given
* output stream in the order that they are read. On return, this
input
* stream will be at end of stream.
* <p>
* This method may block indefinitely reading from the input stream,
* or writing to the output stream. The behavior for the case that
the
* input and/or output stream is <i>asynchronously closed</i>, or the
* thread interrupted during the transfer, is highly input and
output stream
* specific, and therefore not specified.
* <p>
* If an I/O error occurs reading from the input stream or writing to
* the output stream, then it may do so after some bytes have been
read or
* written. Consequently the input stream may not be at end of
stream 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 output stream, non-null
* @return the number of bytes transferred
* @throws IOException if an I/O error occurs when reading or writing
* @throws NullPointerException if {@code out} is {@code null}
*
* @since 1.9
*/
public long transferTo(OutputStream out) throws IOException { ... }
I'm happy with this updated wording, it's consistent with the wording
that we already have in Files.copy, and it addresses all the points that
have come up.
-Alan