Skip to content
Related Articles

Related Articles

Improve Article

Deflater setLevel() function in Java with examples

  • Last Updated : 24 Jun, 2019

The setLevel() function of the Deflater class in sets the current compression level to the specified value. The compression level is an integer value from 0 to 9.
Function Signature:

public void setLevel(int level)



Parameter: The function requires an integer value which is the specified compression value

Return Type: The function does not return any value.

Exception: The function throws IllegalArgumentException if the compression level is invalid.

Some constant values for deflater levels :

  • BEST_COMPRESSION : compression level for best compression
  • BEST_SPEED : Compression level for fastest compression.
  • DEFAULT_COMPRESSION : Default compression level.
  • NO_COMPRESSION : Compression level for no compression.

    Example 1:

    // Java program to describe the use
    // of setLevel() function
    class GFG {
        // Function to compress the string to the given level
        static void compression(int level, String text)
            throws UnsupportedEncodingException
            // deflater
            Deflater d = new Deflater(level);
            // set the Input for deflator
            // finish
            // output bytes
            byte output[] = new byte[1024];
            // compress the data
            int size = d.deflate(output);
            // compressed String
            System.out.println("Compressed String with level ="
                               + level + " :"
                               + new String(output)
                               + "\n Size " + size);
        // Driver code
        public static void main(String args[])
            throws UnsupportedEncodingException
            // get the text
            String pattern = "GeeksforGeeks", text = "";
            // generate the text
            for (int i = 0; i < 4; i++)
                text += pattern;
            // original String
            System.out.println("Original String :" + text
                               + "\n Size " + text.length());
            // default
            compression(Deflater.DEFAULT_COMPRESSION, text);
            // no compression
            compression(Deflater.NO_COMPRESSION, text);
            // Best compression
            compression(Deflater.BEST_COMPRESSION, text);
            // Best Speed
            compression(Deflater.BEST_SPEED, text);


    Original String :GeeksforGeeksGeeksforGeeksGeeksforGeeksGeeksforGeeks
     Size 52
    Compressed String with level =-1 :x?sOM?.N?/r???q??
     Size 21
    Compressed String with level =0 :x4??GeeksforGeeksGeeksforGeeksGeeksforGeeksGeeksforGeeks??
     Size 63
    Compressed String with level =9 :x?sOM?.N?/r???q??
     Size 21
    Compressed String with level =1 :xsOM?.N?/r?`?0??
     Size 22


    Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

    My Personal Notes arrow_drop_up
  • Recommended Articles
    Page :