public abstract int read () throws IOException

Reads the next byte of data from the input stream. The value 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.

A subclass must provide an implementation of this method.

Returns:  the next byte of data, or -1 if the end of the stream is reached.

Exceptions:
IOException    if an I/O error occurs.