Deflater needsInput() function in Java with examples

The needsInput() function of the Deflater class in java.util.zip is used to check if the input data buffer is empty. If the input data buffer is empty then setInput() function is called to provide input
Function Signature:
public boolean needsInput()
Syntax:
d.needsInput();
Parameter: The function requires no parameter
Return Type: The function returns a boolean value i.e. it returns true if the input buffer empty else returns false.
Exception: The function does not throw any exception
Example 1:
// Java program to describe the use// of needsInput() function  import java.util.zip.*;import java.io.UnsupportedEncodingException;  class GFG {    public static void main(String args[])        throws UnsupportedEncodingException    {        // deflater        Deflater d = new Deflater();          // get the text        String pattern = "Lazyroar", 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];          // does the deflater need input        System.out.println("Input Buffer Empty ? :"                           + d.needsInput());          // compress the data        int size = d.deflate(output);          // compressed String        System.out.println("Compressed String :"                           + new String(output)                           + "\n Size " + size);          // original String        System.out.println("Original String :"                           + text + "\n Size "                           + text.length());          // does the deflater need input        System.out.println("Input Buffer Empty ? :"                           + d.needsInput());          // end        d.end();    }} |
Output:
Input Buffer Empty ? :false Compressed String :x?sOM?.N?/r???q?? Size 21 Original String :LazyroarLazyroarLazyroarLazyroar Size 52 Input Buffer Empty ? :true
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/zip/Deflater.html#needsInput()




