Inflater inflate() function in Java with examples
Last Updated :
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
import java.util.zip.*;
import java.io.UnsupportedEncodingException;
class GFG {
public static void main(String args[])
throws UnsupportedEncodingException,
DataFormatException
{
Deflater d = new Deflater();
String pattern = "GeeksforGeeks" , text = "" ;
for ( int i = 0 ; i < 4 ; i++)
text += pattern;
d.setInput(text.getBytes( "UTF-8" ));
d.finish();
byte output[] = new byte [ 1024 ];
int size = d.deflate(output);
d.end();
Inflater i = new Inflater();
i.setInput(output);
byte inflater_output[] = new byte [ 1024 ];
int org_size = i.inflate(inflater_output);
System.out.println( "Compressed output of deflater : "
+ new String(output));
System.out.println( "Compressed output of Inflater : "
+ new String(inflater_output, "UTF-8" ));
i.end();
}
}
|
Output:
Example 2: use of inflate(byte[] b, int offset, int length) function
import java.util.zip.*;
import java.io.UnsupportedEncodingException;
class GFG {
public static void main(String args[])
throws UnsupportedEncodingException,
DataFormatException
{
Deflater d = new Deflater();
String pattern = "GeeksforGeeks" , text = "" ;
for ( int i = 0 ; i < 4 ; i++)
text += pattern;
d.setInput(text.getBytes( "UTF-8" ));
d.finish();
byte output[] = new byte [ 1024 ];
int size = d.deflate(output);
d.end();
Inflater i = new Inflater();
i.setInput(output);
byte inflater_output[] = new byte [ 1024 ];
int org_size = i.inflate(inflater_output, 0 , 15 );
System.out.println( "Compressed output of deflater : "
+ new String(output));
System.out.println( "Compressed output of Inflater : "
+ new String(inflater_output, "UTF-8" ));
i.end();
}
}
|
Output:
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/zip/Inflater.html#inflate(byte[])
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...