On Dec 8, 2017, at 5:06 PM, Sergey Bylokhov <sergey.bylok...@oracle.com> wrote:

> On 08/12/2017 16:49, Brian Burkhalter wrote:
>> I agree it looks strange but it is intentional as it matches the existing 
>> InputStream.read(byte[],int,in) [1]. (I will remove line 167 as part of this 
>> patch.) Note that the IOE for the stream being closed would not be thrown in 
>> the current code until line 173.
> 
> Yes it is match the behavior, but both have a different specifications:
> In the old methods there is a notion: "<p> If <code>len</code> is zero, then 
> no bytes are read and <code>0</code> is returned;" but in the new method we 
> have only one strong statement: "After the stream has been closed, these 
> methods all throw {@code IOException}."

Indeed you are correct. As we are trying to match the behavior I think the spec 
will need to be tweaked a little. The problem is that there is not a 
method-by-method specification in this case. This will need to be reexamined.

Thanks,

Brian

Reply via email to