Esempio del metodo java.util.zip.Inflater.needsInput ()
Descrizione
Il java.util.zip.Inflater.needsInput()restituisce true se non rimangono dati nel buffer di input. Questo può essere utilizzato per determinare se #setInput deve essere chiamato per fornire più input.
Dichiarazione
Di seguito è riportata la dichiarazione per java.util.zip.Inflater.needsInput() metodo.
public boolean needsInput()
ritorna
true se non rimangono dati nel buffer di input.
Esempio
Il seguente esempio mostra l'utilizzo del metodo java.util.zip.Inflater.needsInput ().
package com.tutorialspoint;
import java.io.UnsupportedEncodingException;
import java.util.zip.DataFormatException;
import java.util.zip.Deflater;
import java.util.zip.Inflater;
public class InflaterDemo {
public static void main(String[] args)
throws DataFormatException, UnsupportedEncodingException {
String message = "Welcome to TutorialsPoint.com;"
+"Welcome to TutorialsPoint.com;"
+"Welcome to TutorialsPoint.com;"
+"Welcome to TutorialsPoint.com;"
+"Welcome to TutorialsPoint.com;"
+"Welcome to TutorialsPoint.com;"
+"Welcome to TutorialsPoint.com;"
+"Welcome to TutorialsPoint.com;"
+"Welcome to TutorialsPoint.com;"
+"Welcome to TutorialsPoint.com;";
System.out.println("Original Message length : " + message.length());
byte[] input = message.getBytes("UTF-8");
// Compress the bytes
byte[] output = new byte[1024];
Deflater deflater = new Deflater();
deflater.setInput(input);
deflater.finish();
int compressedDataLength = deflater.deflate(output,0,output.length);
deflater.end();
System.out.println("Compressed Message length : " + compressedDataLength);
// Decompress the bytes
Inflater inflater = new Inflater();
inflater.setInput(output, 0, 10);
byte[] result = new byte[1024];
int resultLength = inflater.inflate(result, 0 , 10);
if(inflater.needsInput()){
inflater.setInput(output, 10, compressedDataLength - resultLength);
resultLength += inflater.inflate(result, resultLength , result.length - resultLength);
}
inflater.end();
// Decode the bytes into a String
message = new String(result, 0, resultLength, "UTF-8");
System.out.println("UnCompressed Message length : " + message.length());
}
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
Original Message length : 300
Compressed Message length : 42
UnCompressed Message length : 300
Stampa