RFR 8139206: Add InputStream readNBytes(int len) (original) (raw)

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.MAXVALUE 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