How to compress the data which are passed over the network in java in order to improve the performance.
import java.util.zip.*; import java.io.*; public class Compression { public Compression() { } public static byte[] compressData(String stringToCompress) { byte[] input = stringToCompress.getBytes(); System.out.println(" Original Lenght of Bytes " + input.length); // Compressor with highest level of compression Deflater compressor = new Deflater(); compressor.setLevel(Deflater.BEST_COMPRESSION); // Give the compressor the data to compress compressor.setInput(input); compressor.finish(); // Create an expandable byte array to hold the compressed data. // It is not necessary that the compressed data will be smaller than // the uncompressed data. ByteArrayOutputStream bos = new ByteArrayOutputStream(input.length); // Compress the data byte[] buf = new byte[1024]; while (!compressor.finished()) { int count = compressor.deflate(buf); bos.write(buf, 0, count); } try { bos.close(); } catch (IOException e) { } byte[] compressedData = bos.toByteArray(); return compressedData; } public static byte[] decompressData(byte[] byteArrayToDecompress) { System.out.println(" After Compression " + byteArrayToDecompress.length); Inflater decompressor = new Inflater(); decompressor.setInput(byteArrayToDecompress); // Create an expandable byte array to hold the decompressed data ByteArrayOutputStream bos1 = new ByteArrayOutputStream(byteArrayToDecompress.length); // Decompress the data byte[] buf1 = new byte[1024]; while (!decompressor.finished()) { try { int count = decompressor.inflate(buf1); bos1.write(buf1, 0, count); } catch (DataFormatException e) { } } try { bos1.close(); } catch (IOException e) { } // Get the decompressed data byte[] decompressedData = bos1.toByteArray(); return decompressedData; } public static void main(String args[]){ try { byte[] compress = compressData("Test String Test String Test String Test String Test String "); byte[] decompress = decompressData(compress); }catch(Exception e) { e.printStackTrace(); } } }