RFR 8139206: Add InputStream readNBytes(int len)

Weijun Wang weijun.wang at oracle.com
Mon Jan 22 10:42:00 UTC 2018


> On Jan 22, 2018, at 5:01 PM, Weijun Wang <weijun.wang at oracle.com> wrote:
> 
> I wonder when readNBytes(n) will be useful if the return value has less than n bytes.

I mean I have seen protocols saying reading rest of the content, or reading N bytes, but never reading at most N bytes. I would rather the method throwing an EOFException if there are less than N bytes. This is also what DataInput::readFully is doing.

--Max

> 
>> On Jan 22, 2018, at 4:52 PM, Alan Bateman <Alan.Bateman at oracle.com> wrote:
>> 
>> 
>> 
>> On 17/01/2018 16:24, Brian Burkhalter wrote:
>>> :
>>> 
>>> A negative value of ‘len’ will now cause an IllegalArgumentException instead of an IndexOutOfBoundsException. Also some verbiage has been improved.
>>> 
>>> http://cr.openjdk.java.net/~bpb/8139206/webrev.01/
>>> 
>> The updated version looks good. I just wonde about the "For example ..." in the @throws OOME description. The API can't be called with a len > Integer.MAX_VALUE so this example could be confusing - I think just drop that sentence.
>> 
>> Minor formatting in passing. At L128 and L339 it would be easier to read if the "throws IOException" were on the previous line. Also L355 might be a bit clear if the Math.min was indented (have to look twice to see that it's not in the while body).
>> 
>> -Alan
> 



More information about the core-libs-dev mailing list