Mega Code Archive

 
Categories / Java / File Input Output
 

Compress a Byte Array

import java.io.ByteArrayOutputStream; import java.util.zip.Deflater; public class Main {   public static void main(String[] argv) throws Exception {     byte[] input = "asdf".getBytes();     Deflater compressor = new Deflater();     compressor.setLevel(Deflater.BEST_COMPRESSION);     compressor.setInput(input);     compressor.finish();     ByteArrayOutputStream bos = new ByteArrayOutputStream(input.length);     byte[] buf = new byte[1024];     while (!compressor.finished()) {       int count = compressor.deflate(buf);       bos.write(buf, 0, count);     }     bos.close();     byte[] compressedData = bos.toByteArray();   } }