La función inflate() de la clase Inflater se usa para descomprimir los datos de entrada y llenar el búfer dado con los datos sin comprimir. La función devuelve el número de bytes de los datos sin comprimir.
Firma de función:
public int inflate(byte[] b) public int inflate(byte[] b, int offset, int length)
Sintaxis:
i.inflate(byte[]) i.inflate(byte[], int, int )
Parámetro: Los diversos parámetros aceptados por estas funciones sobrecargadas son:
- byte[] b : Esta es la array de entrada que se va a inflar
- int offset : este es el desplazamiento inicial desde el cual se leerán los valores en la array dada
- int length : esta es la longitud máxima que se comprimirá desde el desplazamiento inicial.
Tipo de devolución: la función devuelve un valor entero que es el tamaño de los datos sin comprimir.
Excepción: la función lanza DataFormatException, si el formato de datos de compresión no es válido
Ejemplo 1: uso de la función inflate(byte[] b)
// Java program to describe the use // of inflate 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(); } }
Producción:
Ejemplo 2: uso de la función inflate(byte[] b, int offset, int length)
// Java program to describe the use // of inflate 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, 0, 15); // 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(); } }
Producción:
Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/zip/Inflater.html#inflate(byte[])
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA