On 12/20/2017 03:09 PM, Alan Bateman wrote:
On 20/12/2017 12:40, Peter Levart wrote:
Hi Brian,
I found another improvement. If you are reading from files, there's
no difference. But if you read from say socket(s), there may be short
reads (read() returning 0).
InputStreams are blocking so if someone creates an InputStream over a
socket configured non-blocking then they have to emulate blocking
behavior. So assuming a non-zero byte array, then read should return a
positive value or -1.
-Alan.
You are right Alan. I don't know why I assumed that 0 is a valid return
value (for non-empty array). So my last suggestion is unnecessary. Each
buf will be filled to the top before inner loop exits or the stream will
be at EOF.
Regards, Peter