Java I/O How to - Decompress a Byte Array








Question

We would like to know how to decompress a Byte Array.

Answer

/*from   w w  w .  j a  v a2 s  .c  o  m*/
import java.io.ByteArrayOutputStream;
import java.util.zip.Inflater;

public class Main {
  public static void main(String[] argv) throws Exception {
    byte[] compressedData = null;
    Inflater decompressor = new Inflater();
    decompressor.setInput(compressedData);
    ByteArrayOutputStream bos = new ByteArrayOutputStream(compressedData.length);
    byte[] buf = new byte[1024];
    while (!decompressor.finished()) {
      int count = decompressor.inflate(buf);
      bos.write(buf, 0, count);

    }
    bos.close();
    byte[] decompressedData = bos.toByteArray();

  }
}