public int read(byte b[], int off, int len) throws IOException {
        return IOUtils.read(inStream, b, off, len);
    }
public int read ( byte b [ ] , int off , int len ) throws IOException { return IOUtils . read ( inStream , b , off , len ) ; }
Same as above but does not throw an exception at end of file, just
returns the actual data read.

@param b the buffer to bill
@param off offset in buffer where to start filling
@param len how many bytes we should read
@return the total number of bytes read
@throws IOException if a read error occurs