code: public final int readChar() throws IOException
    {
      if (_readEncoding != null) {
        int ch = _readEncoding.read();
        return ch;
      }
  
      if (_readLength <= _readOffset) {
        if (! readBuffer())
          return -1;
      }
  
      return _readBuffer[_readOffset++] & 0xff;
    }
docs: Reads a character from the stream, returning -1 on end of file.