@Override
  public int read(char[] cbuf, int off, int len) throws IOException {
    final int i = read();
    if (i == -1) {
      return -1;
    }
    cbuf[off] = (char)i; // not really efficient, but acceptable since we're usually not having to deal with megabytes of RNC files...
    return 1;
  }
@Override
  public int read(char[] cbuf, int off, int len)