title: Java Decompressing byte array - incorrect data check
body: <p>I have a little problem: I decompress byte array and everything is ok with following code but sometimes with some data it throws <code>DataFormatException</code> with incorrect data check. Any ideas?</p>
  
  <pre><code> private byte[] decompress(byte[] compressed) throws DecoderException {
      Inflater decompressor = new Inflater();
      decompressor.setInput(compressed);
      ByteArrayOutputStream outPutStream = new ByteArrayOutputStream(compressed.length);
      byte temp [] = new byte[8196];
      while (!decompressor.finished()) {
  
          try {
              int count = decompressor.inflate(temp);
              logger.info("count = " + count);
              outPutStream.write(temp, 0, count);
          }
          catch (DataFormatException e) {
              logger.info(e.getMessage());
              throw new DecoderException("Wrong format", e);
          }
      }
      try {
          outPutStream.close();
      } catch (IOException e) {
          throw new DecoderException("Cant close outPutStream ", e);
      }
      return outPutStream.toByteArray();
  }
  </code></pre>