@throws ioexception if an i/o error occurs.
@throws eofexception if this stream reaches the end before reading all the bytes.
@param in the input stream to read from.
@param b the buffer into which the data is read.
file : https_github_com_google_guava_git/guava/src/com/google/common/io/ByteStreams.java