Convert InputStream to byte array in Java
arrays, inputstream, java
Solution
You can use Apache Commons IO to handle this and similar tasks.
The `IOUtils` type has a static method to read an `InputStream` and return a `byte[]`.
InputStream is;
byte[] bytes = IOUtils.toByteArray(is);
Internally this creates a `ByteArrayOutputStream` and copies the bytes to the output, then calls `toByteArray()`. It handles large files by copying the bytes in blocks of 4KiB.
Problem
How do I read an entire `InputStream` into a byte array?