Inflater inflate() function in Java with examples
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[])
Recommended Posts:
- Inflater getBytesWritten() function in Java with examples
- Inflater getTotalOut() function in Java with examples
- Inflater getBytesRead() function in Java with examples
- Inflater getAdler() function in Java with examples
- Inflater finished() function in Java with examples
- Inflater getTotalIn() function in Java with examples
- Inflater needsInput() function in Java with examples
- Inflater setInput() function in Java with examples
- Java.util.function.IntPredicate interface in Java with Examples
- Java.util.function.BiPredicate interface in Java with Examples
- Java.util.function.DoublePredicate interface in Java with Examples
- Java.util.function.LongPredicate interface in Java with Examples
- Java SQL Timestamp before() function with examples
- Function Interface in Java with Examples
- Java SQL Timestamp after() function with examples
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.