java.util.zip.InflaterOutputStream.flush() Method Example



Description

The java.util.zip.InflaterOutputStream.flush() method flushes this output stream, forcing any pending buffered output bytes to be written.

Declaration

Following is the declaration for java.util.zip.InflaterOutputStream.flush() method.

public void flush()
   throws IOException

Exceptions

  • IOException − if an I/O error has occurred.

Example

The following example shows the usage of java.util.zip.InflaterOutputStream.flush() method.

package com.tutorialspoint;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.zip.DataFormatException;
import java.util.zip.DeflaterOutputStream;
import java.util.zip.InflaterOutputStream;

public class InflaterOutputStreamDemo {

   public static void main(String[] args) throws DataFormatException, IOException {
      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
      ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
      DeflaterOutputStream outputStream = new DeflaterOutputStream(arrayOutputStream);
      outputStream.write(input);
      outputStream.close();

      //Read and decompress the data
      InflaterOutputStream inflaterOutputStream = null;
      ByteArrayOutputStream decompressedOutputStream = null;
      decompressedOutputStream = new ByteArrayOutputStream();
      inflaterOutputStream = new InflaterOutputStream(decompressedOutputStream);
      inflaterOutputStream.write(arrayOutputStream.toByteArray());
      inflaterOutputStream.flush();
      inflaterOutputStream.close();

      //Should hold the original (reconstructed) data
      byte[] result = Arrays.copyOf(decompressedOutputStream.toByteArray(), 300);

      // Decode the bytes into a String
      message = new String(result, "UTF-8");
    
      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
UnCompressed Message length : 300
Print
javazip_inflateroutputstream.htm
Advertisements