private static long readLong(InputStream in) throws IOException {
  int b0=in.read();
  int b1=in.read();
  int b2=in.read();
  int b3=in.read();
  if ((b0 | b1 | b2| b3) == -1) {
    throw new EOFException();
  }
  int upper=(b0 << 24) | (b1 << 16) | (b2 << 8)| b3;
  b0=in.read();
  b1=in.read();
  b2=in.read();
  b3=in.read();
  if ((b0 | b1 | b2| b3) == -1) {
    throw new EOFException();
  }
  int lower=(b0 << 24) | (b1 << 16) | (b2 << 8)| b3;
  return ((long)upper << 32) | (lower & 0xFFFFFFFFL);
}

private static long readLong ( InputStream in ) throws IOException { int b0 = in . read ( ) ; int b1 = in . read ( ) ; int b2 = in . read ( ) ; int b3 = in . read ( ) ; if ( ( b0 | b1 | b2 | b3 ) == - 1 ) { throw new EOFException ( ) ; } int upper = ( b0 << 24 ) | ( b1 << 16 ) | ( b2 << 8 ) | b3 ; b0 = in . read ( ) ; b1 = in . read ( ) ; b2 = in . read ( ) ; b3 = in . read ( ) ; if ( ( b0 | b1 | b2 | b3 ) == - 1 ) { throw new EOFException ( ) ; } int lower = ( b0 << 24 ) | ( b1 << 16 ) | ( b2 << 8 ) | b3 ; return ( ( long ) upper << 32 ) | ( lower & 0xFFFFFFFFL ) ; }
read a long value from an inputstream in big - endian byte order .
