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()