Inflater inflate() function in Java with examples

24 Jun, 2019
The inflate() function of the Inflater class is used to uncompress the input data and fill the given buffer with the uncompressed data. The function returns the number of bytes of the uncompressed data.
Function Signature:
public int inflate(byte[] b)
public int inflate(byte[] b, int offset, int length)

Syntax:
i.inflate(byte[])
i.inflate(byte[], int, int )

Parameter: The various parameters accepted by these overloaded functions are:
byte[] b: This is the input array that is to be inflated
int offset: This is the starting offset from which the values are to be read in the given array
int length: This is the maximum length to be compressed from the starting offset.
Return Type: The function returns an integer value which is the size of the uncompressed data.Exception: The function throws DataFormatException, if compression data format is invalid
Example 1: use of inflate(byte[] b) function
// Java program to describe the use// of inflate function  import java.util.zip.*;import java.io.UnsupportedEncodingException;  class GFG {    public static void main(String args[])        throws UnsupportedEncodingException,               DataFormatException    {          // compress the data          // deflater        Deflater d = new Deflater();          // get the text        String pattern = "GeeksforGeeks", text = "";          // generate the text        for (int i = 0; i < 4; i++)            text += pattern;          // set the input for deflator        d.setInput(text.getBytes("UTF-8"));          // finish        d.finish();          // output bytes        byte output[] = new byte[1024];          // compress the data        int size = d.deflate(output);          // end        d.end();          // end of compression          // use Inflater to get back the original data          // Inflater        Inflater i = new Inflater();          // set the input for inflator        i.setInput(output);          // output bytes        byte inflater_output[] = new byte[1024];          // uncompress the data        int org_size = i.inflate(inflater_output);          // output of inflater and deflater        System.out.println("Compressed output of deflater : "                           + new String(output));        System.out.println("Compressed output of Inflater : "                           + new String(inflater_output, "UTF-8"));          // end        i.end();    }}
Output:
Example 2: use of inflate(byte[] b, int offset, int length) function
// Java program to describe the use// of inflate function  import java.util.zip.*;import java.io.UnsupportedEncodingException;  class GFG {    public static void main(String args[])        throws UnsupportedEncodingException,               DataFormatException    {          // compress the data          // deflater        Deflater d = new Deflater();          // get the text        String pattern = "GeeksforGeeks", text = "";          // generate the text        for (int i = 0; i < 4; i++)            text += pattern;          // set the input for deflator        d.setInput(text.getBytes("UTF-8"));          // finish        d.finish();          // output bytes        byte output[] = new byte[1024];          // compress the data        int size = d.deflate(output);          // end        d.end();          // end of compression          // use Inflater to get back the original data          // Inflater        Inflater i = new Inflater();          // set the input for inflator        i.setInput(output);          // output bytes        byte inflater_output[] = new byte[1024];          // uncompress the data        int org_size = i.inflate(inflater_output, 0, 15);          // output of inflater and deflater        System.out.println("Compressed output of deflater : "                           + new String(output));        System.out.println("Compressed output of Inflater : "                           + new String(inflater_output, "UTF-8"));          // end        i.end();    }}
Output:
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/zip/Inflater.html#inflate(byte[])
Java-Functions
Java-Inflater
Java-util-zip package
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Object Oriented Programming (OOPs) Concept in Java
How to iterate any Map in Java
Interfaces in Java
HashMap in Java with Examples
Stream In Java
ArrayList in Java
Collections in Java
Singleton Class in Java
Multidimensional Arrays in Java
Set in Java