6766844: ByteArrayInputStream#read with a byte array of length 0 not consistent with InputStream when at EOF

Reviewed-by: naoto, lancea, joehw
This commit is contained in:
Brian Burkhalter 2021-07-08 19:05:29 +00:00
parent 9e75f922b1
commit f46a917270
2 changed files with 17 additions and 6 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1994, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1994, 2021, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -156,6 +156,10 @@ public class ByteArrayInputStream extends InputStream {
* {@code b[off+k-1]} in the manner performed by {@code System.arraycopy}.
* The value {@code k} is added into {@code pos} and {@code k} is returned.
* <p>
* Unlike the {@link InputStream#read(byte[],int,int) overridden method}
* of {@code InputStream}, this method returns {@code -1} instead of zero
* if the end of the stream has been reached and {@code len == 0}.
* <p>
* This {@code read} method cannot block.
*
* @param b the buffer into which the data is read.