[ 
https://issues.apache.org/jira/browse/IO-686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17193855#comment-17193855
 ] 

Gary Gregory commented on IO-686:
---------------------------------

In general, we make the Javadoc match the code, as the code evolves.
In this case, that method's Javadoc got out of sync with code. The
method is now used from other call sites where the expected result is
an empty byte array.

Gary



> IOUtils.toByteArray(InputStream) Javadoc does not match code
> ------------------------------------------------------------
>
>                 Key: IO-686
>                 URL: https://issues.apache.org/jira/browse/IO-686
>             Project: Commons IO
>          Issue Type: Bug
>          Components: Utilities
>    Affects Versions: 2.8.0
>            Reporter: Alan Moffat
>            Priority: Critical
>             Fix For: 2.9.0
>
>
> According to the code in the v2.8.0 release, passing null to the method 
> should throw an exception, however it is producing an empty byte array 
> instead.
> {code:java}
> /**
>  * Gets the contents of an <code>InputStream</code> as a <code>byte[]</code>.
>  * <p>
>  * This method buffers the input internally, so there is no need to use a
>  * <code>BufferedInputStream</code>.
>  * </p>
>  *
>  * @param input the <code>InputStream</code> to read from
>  * @return the requested byte array
>  * @throws NullPointerException if the input is null
>  * @throws IOException          if an I/O error occurs
>  */
> public static byte[] toByteArray(final InputStream input) throws IOException {
>     try (final ByteArrayOutputStream output = new ByteArrayOutputStream()) {
>         copy(input, output);
>         return output.toByteArray();
>     }
> } {code}
> This can be recreated by the following:
> {code:java}
> @Test
> public void shouldThrowNullPointerException() {
>     assertThrows(NullPointerException.class, () -> 
> IOUtils.toByteArray((InputStream) null))
> } {code}
> On v2.7 the test passes, on v2.8.0 it fails.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to