title: Invalid header reading xls file
body: <p>I am reading one excel file on my local system. I am using POI jar Version 3.7, but getting error Invalid header signature; 
  read -2300849302551019537 or in Hex 0xE011BDBFEFBDBFEF , 
  expected -2226271756974174256 or in Hex 0xE11AB1A1E011CFD0.</p>
  
  <p>Opening the xls file with Excel works fine.</p>
  
  <p>The codeblock where it happens:
  Anybody an idea ?</p>
  
  <pre><code>/**
   * create a new HeaderBlockReader from an InputStream
   *
   * @param stream the source InputStream
   *
   * @exception IOException on errors or bad data
   */
  public HeaderBlockReader(InputStream stream) throws IOException {
      // At this point, we don't know how big our
      //  block sizes are
      // So, read the first 32 bytes to check, then
      //  read the rest of the block
      byte[] blockStart = new byte[32];
      int bsCount = IOUtils.readFully(stream, blockStart);
      if(bsCount != 32) {
          throw alertShortRead(bsCount, 32);
      }
  
      // verify signature
      long signature = LittleEndian.getLong(blockStart, _signature_offset);
  
      if (signature != _signature) {
          // Is it one of the usual suspects?
          byte[] OOXML_FILE_HEADER = POIFSConstants.OOXML_FILE_HEADER;
          if(blockStart[0] == OOXML_FILE_HEADER[0] &amp;&amp;
              blockStart[1] == OOXML_FILE_HEADER[1] &amp;&amp;
              blockStart[2] == OOXML_FILE_HEADER[2] &amp;&amp;
              blockStart[3] == OOXML_FILE_HEADER[3]) {
              throw new OfficeXmlFileException("The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)");
          }
          if ((signature &amp; 0xFF8FFFFFFFFFFFFFL) == 0x0010000200040009L) {
              // BIFF2 raw stream starts with BOF (sid=0x0009, size=0x0004, data=0x00t0)
              throw new IllegalArgumentException("The supplied data appears to be in BIFF2 format.  "
                      + "POI only supports BIFF8 format");
          }
  
          // Give a generic error
          throw new IOException("Invalid header signature; read "
                                + longToHex(signature) + ", expected "
                                + longToHex(_signature));
      }
  </code></pre>