Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero if the end of the stream has been reached.