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 = "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 ];
// 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 :GeeksforGeeksGeeksforGeeksGeeksforGeeksGeeksforGeeks Size 52 Input Buffer Empty ? :true
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/zip/Deflater.html#needsInput()