Open In App

Java.util.zip.DeflaterOutputStream class in Java

Last Updated : 12 Sep, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Java.util.zip.DeflaterInputStream class in Java

This class implements an output stream filter for compressing data in the “deflate” compression format. It is also used as the basis for other types of compression filters, such as GZIPOutputStream.
Constructors and Description

  • DeflaterOutputStream(OutputStream out) : Creates a new output stream with a default compressor and buffer size.
  • DeflaterOutputStream(OutputStream out, boolean syncFlush) : Creates a new output stream with a default compressor, a default buffer size and the specified flush mode.
  • DeflaterOutputStream(OutputStream out, Deflater def) : Creates a new output stream with the specified compressor and a default buffer size.
  • DeflaterOutputStream(OutputStream out, Deflater def, boolean syncFlush) : Creates a new output stream with the specified compressor, flush mode and a default buffer size.
  • DeflaterOutputStream(OutputStream out, Deflater def, int size) : Creates a new output stream with the specified compressor and buffer size.
  • DeflaterOutputStream(OutputStream out, Deflater def, int size, boolean syncFlush) : Creates a new output stream with the specified compressor, buffer size and flush mode.

Methods:

  • void close() : Writes remaining compressed data to the output stream and closes the underlying stream.
    Syntax :public void close()
               throws IOException
    Overrides:
    close in class FilterOutputStream
    Throws:
    IOException
  • protected void deflate() : Writes next block of compressed data to the output stream.
    Syntax :protected void deflate()
                    throws IOException
    Throws:
    IOException
  • void finish() : Finishes writing compressed data to the output stream without closing the underlying stream.
    Syntax :public void finish()
                throws IOException
    Throws:
    IOException
  • void flush() :Flushes the compressed output stream.
    Syntax :public void flush()
               throws IOException
    Overrides:
    flush in class FilterOutputStream
    Throws:
    IOException
  • void write(byte[] b, int off, int len) : Writes an array of bytes to the compressed output stream.
    Syntax :public void write(byte[] b,
             int off,
             int len)
               throws IOException
    Overrides:
    write in class FilterOutputStream
    Parameters:
    b - the data to be written
    off - the start offset of the data
    len - the length of the data
    Throws:
    IOException
  • void write(int b) : Writes a byte to the compressed output stream.
    Syntax :public void write(int b)
               throws IOException
    Overrides:
    write in class FilterOutputStream
    Parameters:
    b - the byte to be written
    Throws:
    IOException




//Java program to demonstrate DeflaterOutputStream
  
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.DeflaterOutputStream;
  
class DeflaterOutputStreamDemo
{
    public static void main(String[] args) throws IOException 
    {
  
        FileOutputStream fos = new FileOutputStream("file2.txt");
  
        //Assign FileOutputStream to DeflaterOutputStream
        DeflaterOutputStream dos = new DeflaterOutputStream(fos);
  
        //write it into DeflaterOutputStream
        for (int i = 0; i <10 ; i++) 
        {
            dos.write(i);
        }
          
        //illustrating flush() method()
        dos.flush();
          
        //illustrating finish()
        //Finishes writing compressed data to the output stream
        // without closing the underlying stream
        dos.finish();
          
        //fos is not closed
        //writing some data on file
        fos.write('G');
      
        //Writes remaining compressed data to the output stream
        // closes the underlying stream.
        dos.close();
    }
}


Note: Output of the program will not be visible on online IDE as file2.txt can not be read here.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads