Reads the next byte of data from this input stream. The byte is returned as an
int
in the range
0
to
255
. If no byte is available because the end of the stream has been reached, the value
-1
is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.
This method tries to read one character from the current substream. If it reaches the end of the stream, it calls the close
method of the current substream and begins reading from the next substream.