java.util.zip.Deflater.getBytesWritten() Method Example



Description

The java.util.zip.Deflater.getBytesWritten() method returns the total number of compressed bytes output so far.

Declaration

Following is the declaration for java.util.zip.Deflater.getBytesWritten() method.

public long getBytesWritten()

Returns

the total (non-negative) number of uncompressed bytes input so far.

Example

The following example shows the usage of java.util.zip.Deflater.getBytesWritten() method.

package com.tutorialspoint;

import java.io.UnsupportedEncodingException;
import java.util.zip.DataFormatException;
import java.util.zip.Deflater;
import java.util.zip.Inflater;

public class DeflaterDemo {
   public static void main(String[] args) 
      throws DataFormatException, UnsupportedEncodingException {
      String message = "Welcome to TutorialsPoint.com;"
         +"Welcome to TutorialsPoint.com;"
         +"Welcome to TutorialsPoint.com;"
         +"Welcome to TutorialsPoint.com;"
         +"Welcome to TutorialsPoint.com;"
         +"Welcome to TutorialsPoint.com;"
         +"Welcome to TutorialsPoint.com;"
         +"Welcome to TutorialsPoint.com;"
         +"Welcome to TutorialsPoint.com;"
         +"Welcome to TutorialsPoint.com;";
      System.out.println("Original Message length : " + message.length());
      byte[] input = message.getBytes("UTF-8");

      // Compress the bytes
      byte[] output = new byte[1024];
      Deflater deflater = new Deflater();
      deflater.setInput(input);
   
      deflater.finish();
      int compressedDataLength = deflater.deflate(output,0 , output.length, Deflater.NO_FLUSH);
      System.out.println("Bytes Written :" + deflater.getBytesWritten());   
      System.out.println("Compressed Message Checksum :" + deflater.getAdler());     
      deflater.finished();

      System.out.println("Compressed Message length : " + compressedDataLength);

      // Decompress the bytes
      Inflater inflater = new Inflater();
      inflater.setInput(output, 0, compressedDataLength);
      byte[] result = new byte[1024];
      int resultLength = inflater.inflate(result);
      inflater.finished();

      // Decode the bytes into a String
      message = new String(result, 0, resultLength, "UTF-8");
      System.out.println("UnCompressed Message Checksum :" + inflater.getAdler());  
      System.out.println("UnCompressed Message length : " + message.length());
   }
}

Let us compile and run the above program, this will produce the following result −

Original Message length : 300
Bytes Written :42
Compressed Message Checksum :368538129
Compressed Message length : 42
UnCompressed Message Checksum :368538129
UnCompressed Message length : 300
Print
javazip_deflater.htm
Advertisements