Ejemplo de método java.util.zip.InflaterOutputStream.write ()
Descripción
los java.util.zip.InflaterOutputStream.write(int b)El método escribe un byte en el flujo de salida comprimido. Este método se bloqueará hasta que se pueda escribir el byte.
Declaración
A continuación se muestra la declaración de java.util.zip.InflaterOutputStream.write(int b) método.
public void write(int b)
throws IOException
Parámetros
b - el byte que se va a escribir.
Excepciones
IOException - si se ha producido un error de E / S.
ZipException - si se produce un error de formato de compresión (ZIP).
Ejemplo
El siguiente ejemplo muestra el uso del método java.util.zip.InflaterOutputStream.write (int b).
package com.tutorialspoint;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.zip.DataFormatException;
import java.util.zip.DeflaterOutputStream;
import java.util.zip.InflaterOutputStream;
public class InflaterOutputStreamDemo {
public static void main(String[] args) throws DataFormatException, IOException {
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
ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
DeflaterOutputStream outputStream = new DeflaterOutputStream(arrayOutputStream);
outputStream.write(input);
outputStream.close();
//Read and decompress the data
InflaterOutputStream inflaterOutputStream = null;
ByteArrayOutputStream decompressedOutputStream = null;
decompressedOutputStream = new ByteArrayOutputStream();
inflaterOutputStream = new InflaterOutputStream(decompressedOutputStream);
byte[] output = arrayOutputStream.toByteArray();
for(int i = 0; i < output.length; i++){
inflaterOutputStream.write(output[i]);
}
inflaterOutputStream.close();
//Should hold the original (reconstructed) data
byte[] result = Arrays.copyOf(decompressedOutputStream.toByteArray(), 300);
// Decode the bytes into a String
message = new String(result, "UTF-8");
System.out.println("UnCompressed Message length : " + message.length());
}
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
Original Message length : 300
UnCompressed Message length : 300
Impresión