public int readInt() throws IOException { byte[] buf = new byte[4]; readFully(buf); return (buf[3] << 24 & 0xFF) | (buf[2] << 16 & 0xFF) | (buf[1] <<  8 & 0xFF) | (buf[0] & 0xFF); }
public int readInt() throws IOException { byte[] buf = new byte[4]; read(buf); return (buf[3] & 0xFF) << 24 | (buf[2] & 0xFF) << 16 | (buf[1] & 0xFF) <<  8 | (buf[0] & 0xFF); }
   public int readInt() throws IOException {      byte[] buf = new byte[4];      readFully(buf);      return (buf[3] << 24 & 0xFF) | (buf[2] << 16 & 0xFF)           | (buf[1] <<  8 & 0xFF) | (buf[0] & 0xFF);   }