code: @Override
    public int read () throws IOException
    {
      _ensureOpen ();
      if (m_nBufPos < m_aBuf.length)
        return m_aBuf[m_nBufPos++];
  
      return super.read ();
    }
docs: Reads a single character.
  
  @return The character read, or -1 if the end of the stream has been reached
  @exception IOException
  If an I/O error occurs