@Override public int read() throws IOException {
  final int b0=fInputStream.read();
  if (b0 == -1) {
    return -1;
  }
  final int b1=fInputStream.read();
  if (b1 == -1) {
    expectedTwoBytes();
  }
  if (fIsBigEndian) {
    return (b0 << 8) | b1;
  }
  return (b1 << 8) | b0;
}

@ Override public int read ( ) throws IOException { final int b0 = fInputStream . read ( ) ; if ( b0 == - 1 ) { return - 1 ; } final int b1 = fInputStream . read ( ) ; if ( b1 == - 1 ) { expectedTwoBytes ( ) ; } if ( fIsBigEndian ) { return ( b0 << 8 ) | b1 ; } return ( b1 << 8 ) | b0 ; }
read a single character . this method will block until a character is available , an i / o error occurs , or the end of the stream is reached . < p / > < p > subclasses that intend to support efficient single - character input should override this method .
