@Override
  public int read () throws IOException
  {
    if (m_nPos >= m_nCount)
    {
      _fill ();
      if (m_nPos >= m_nCount)
        return -1;
    }
    return _getBufIfOpen ()[m_nPos++] & 0xff;
  }
@ Override public int read ( ) throws IOException { if ( m_nPos >= m_nCount ) { _fill ( ) ; if ( m_nPos >= m_nCount ) return - 1 ; } return _getBufIfOpen ( ) [ m_nPos ++ ] & 0xff ; }
See the general contract of the <code>read</code> method of
<code>InputStream</code>.

@return the next byte of data, or <code>-1</code> if the end of the stream
is reached.
@exception IOException
if this input stream has been closed by invoking its
{@link #close()} method, or an I/O error occurs.