public int read() throws IOException {
synchronized (lock) {
    char[] charArray=new char[1];
    if (read(charArray,0,1) != -1) {
      return charArray[0];
    }
    return -1;
  }
}

public int read ( ) throws IOException { synchronized ( lock ) { char [ ] charArray = new char [ 1 ] ; if ( read ( charArray , 0 , 1 ) != - 1 ) { return charArray [ 0 ] ; } return - 1 ; } }
reads a single character from this reader and returns it as an integer with the two higher - order bytes set to 0 . returns - 1 if the end of the reader has been reached .
