Open In App

Inflater setInput() function in Java with examples

Last Updated : 24 Jun, 2019
Improve
Improve
Like Article
Like
Save
Share
Report


The setInput() function of the Inflater class is used to set input data for uncompression. This function should be called when needsInput() returns true indicating input buffer is empty.

Function Signature:

public void setInput(byte[] b)
public void setInput(byte[] b, int offset, int len)

Syntax:

i.setInput(byte[]);
i.setInput(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 has no return value

Exception: The function does not throw any exception

Example 1: use of setInput(byte[] b) function




// Java program to describe the use
// of setInput(byte[] b) 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 setInput(byte[] b, int offset, int len) function




// Java program to describe the use
// of setInput(byte[] b, int offset, int len) 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 the compression
  
        // use Inflater to get back the original data
  
        // Inflater
        Inflater i = new Inflater();
  
        // set the input for inflator
        i.setInput(output, 0, 14);
  
        // 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:


Reference:
https://docs.oracle.com/javase/7/docs/api/java/util/zip/Inflater.html#setInput()



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads