- java.util.zip Package Classes
- java.util.zip - Home
- java.util.zip - Adler32
- java.util.zip - CheckedInputStream
- java.util.zip - CheckedOutputStream
- java.util.zip - CRC32
- java.util.zip - Deflater
- java.util.zip - DeflaterInputStream
- java.util.zip - DeflaterOutputStream
- java.util.zip - GZIPInputStream
- java.util.zip - GZIPOutputStream
- java.util.zip - Inflater
- java.util.zip - InflaterInputStream
- java.util.zip - InflaterOutputStream
- java.util.zip - ZipEntry
- java.util.zip - ZipFile
- java.util.zip - ZipInputStream
- java.util.zip - ZipOutputStream
- java.util.zip Package Extras
- java.util.zip - Exceptions
- java.util.zip - Error
- java.util.zip Useful Resources
- java.util.zip - Quick Guide
- java.util.zip - Useful Resources
- java.util.zip - Discussion
java.util.zip.DeflaterOutputStream.flush() Method Example
Description
The java.util.zip.DeflaterOutputStream.flush() method flushes the compressed output stream. If syncFlush is true when this compressed output stream is constructed, this method first flushes the underlying compressor with the flush mode Deflater.SYNC_FLUSH to force all pending data to be flushed out to the output stream and then flushes the output stream. Otherwise this method only flushes the output stream without flushing the compressor.
Declaration
Following is the declaration for java.util.zip.DeflaterOutputStream.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.DeflaterOutputStream.flush() method.
package com.tutorialspoint; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Arrays; import java.util.zip.Adler32; import java.util.zip.CheckedInputStream; import java.util.zip.DataFormatException; import java.util.zip.Deflater; import java.util.zip.DeflaterInputStream; import java.util.zip.DeflaterOutputStream; import java.util.zip.Inflater; import java.util.zip.InflaterInputStream; public class DeflaterOutputStreamDemo { 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;"; String dictionary = "Welcome"; 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.flush(); outputStream.close(); //Read and decompress the data byte[] readBuffer = new byte[5000]; ByteArrayInputStream arrayInputStream = new ByteArrayInputStream(arrayOutputStream.toByteArray()); InflaterInputStream inputStream = new InflaterInputStream(arrayInputStream); int read = inputStream.read(readBuffer); //Should hold the original (reconstructed) data byte[] result = Arrays.copyOf(readBuffer, read); // 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
javazip_deflateroutputstream.htm
Advertisements