RFR: 6766844: ByteArrayInputStream#read with a byte array of length 0 not consistent with InputStream when at EOF [v2]
Roger Riggs
rriggs at openjdk.java.net
Fri Jun 25 17:55:05 UTC 2021
On Fri, 25 Jun 2021 01:39:21 GMT, Brian Burkhalter <bpb at openjdk.org> wrote:
>> Modify `java.io.ByteArrayInputStream` methods `read(byte[])` and `read(byte[],int,int)` to return zero per the `InputStream` specification when the byte array actual or specified length is zero.
>
> Brian Burkhalter has updated the pull request incrementally with one additional commit since the last revision:
>
> 6766844: Add bug ID to test
The spec for ByteArrayInputStream.read(byte[], off, len) is pretty specific about returning -1 if there is nothing to read.
The spec inherited from InputStream doesn't supercede javadoc of BAIS.
If the implementation is going to change then the spec will need to change too.
It seems safer to document the inconsistency and avoid the risk of infinite loops.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4591
More information about the core-libs-dev
mailing list