public int read() throws IOException {synchronized (lock) {if (!isOpen()) {throw new IOException("InputStreamReader is closed");}char[] buf = new char[1];return read(buf, 0, 1) != -1 ? buf[0] : -1;}}
public override int read(){lock (@lock){if (!isOpen()){throw new System.IO.IOException("InputStreamReader is closed");}char[] buf = new char[1];return read(buf, 0, 1) != -1 ? buf[0] : -1;}}