Esta clase implementa un filtro de flujo de salida para descomprimir datos almacenados en el formato de compresión «desinflado».
Constructores
- InflaterOutputStream(OutputStream out): crea un nuevo flujo de salida con un descompresor y un tamaño de búfer predeterminados.
- InflaterOutputStream(OutputStream out, Inflater infl) : crea un nuevo flujo de salida con el descompresor especificado y un tamaño de búfer predeterminado.
- InflaterOutputStream(OutputStream out, Inflater infl, int bufLen) : crea un nuevo flujo de salida con el descompresor y el tamaño de búfer especificados.
Métodos:
- void close() : escribe los datos restantes sin comprimir en el flujo de salida y cierra el flujo de salida subyacente.
Syntax : public void close() throws IOException Overrides: close in class FilterOutputStream Throws: IOException
- void finish() : Termina de escribir datos sin comprimir en el flujo de salida sin cerrar el flujo subyacente.
Syntax :public void finish() throws IOException Throws: IOException
- void flush() : vacía este flujo de salida, lo que obliga a que se escriban los bytes de salida almacenados en búfer pendientes.
Syntax :public void flush() throws IOException Overrides: flush in class FilterOutputStream Throws: IOException
- void write(byte[] b, int off, int len) : escribe una array de bytes en el flujo de salida sin comprimir.
Syntax :public void write(byte[] b, int off, int len) throws IOException Overrides: write in class FilterOutputStream Parameters: b - buffer containing compressed data to decompress and write to the output stream off - starting offset of the compressed data within b len - number of bytes to decompress from b Throws: IndexOutOfBoundsException IOException NullPointerException ZipException
- void write(int b) : Escribe un byte en el flujo de salida sin comprimir.
Syntax :public void write(int b) throws IOException Parameters: b - a single byte of compressed data to decompress and write to the output stream Throws: IOException ZipException
Programa 1
//Java program to illustrate InflaterInputStream class import java.io.*; import java.util.Arrays; import java.util.zip.DeflaterInputStream; import java.util.zip.InflaterOutputStream; class InflaterOutputStreamDemo { public static void main(String[] args) throws IOException { byte b[] = {1, 2, 3, 4, 5, 6}; ByteArrayInputStream bin = new ByteArrayInputStream(b); DeflaterInputStream din = new DeflaterInputStream(bin); byte c[] = new byte[10]; din.read(c); din.close(); ByteArrayOutputStream bos = new ByteArrayOutputStream(); InflaterOutputStream ios = new InflaterOutputStream(bos); //illustrating write(byte b[],int off,int len) ios.write(c); //flushing ios.flush(); //Finishes writing uncompressed data to the output stream // without closing the underlying stream. ios.finish(); System.out.println(Arrays.toString(bos.toByteArray())); bos.close(); //illustrating close() ios.close(); } }
Producción :
[1, 2, 3, 4, 5, 6]
Programa 2:
//Java program to illustrate InflaterInputStream class import java.io.*; import java.util.Arrays; import java.util.zip.DeflaterInputStream; import java.util.zip.InflaterOutputStream; class InflaterOutputStreamDemo { public static void main(String[] args) throws IOException { byte b[] = {1, 2, 3, 4, 5, 6}; ByteArrayInputStream bin = new ByteArrayInputStream(b); DeflaterInputStream din = new DeflaterInputStream(bin); FileOutputStream fos=new FileOutputStream("file.txt"); byte c[] = new byte[10]; din.read(c); fos.write(c); din.close(); fos.close(); //reading the compressed data FileInputStream fis = new FileInputStream("file.txt"); ByteArrayOutputStream bos1=new ByteArrayOutputStream(); InflaterOutputStream ios = new InflaterOutputStream(bos1); int ch; //illustrating write() method while ( (ch=fis.read() ) != -1) { ios.write(ch); } System.out.print(Arrays.toString(bos1.toByteArray())); } }
Producción :
[1, 2, 3, 4, 5, 6]
Artículo siguiente: Clase Java.util.zip.InflaterInputStream en Java
Este artículo es una contribución de Nishant Sharma . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA