Implementa un filtro de flujo de entrada para comprimir datos en el formato de compresión «desinflado».
Constructor y Descripción
- DeflaterInputStream(InputStream in): crea un nuevo flujo de entrada con un compresor predeterminado y un tamaño de búfer.
- DeflaterInputStream(InputStream in, Deflater defl) : crea un nuevo flujo de entrada con el compresor especificado y un tamaño de búfer predeterminado.
- DeflaterInputStream(InputStream in, Deflater defl, int bufLen) : crea un nuevo flujo de entrada con el compresor y el tamaño de búfer especificados.
Métodos:
- int available() : Devuelve 0 después de alcanzar el EOF; de lo contrario, siempre devuelve 1.
Syntax :public int available() throws IOException Parameters: n - number of bytes to be skipped Returns: the actual number of bytes skipped Throws: IOException
- void close() : Cierra este flujo de entrada y su flujo de entrada subyacente, descartando cualquier dato sin comprimir pendiente.
Syntax :public void close() throws IOException Overrides: close in class FilterInputStream Throws: IOException
- void mark(int limit) : Esta operación no es compatible.
Syntax :public void mark(int limit) Parameters: limit - maximum bytes that can be read before invalidating the position marker
- boolean markSupported() : siempre devuelve falso porque este flujo de entrada no es compatible con los métodos mark() y reset().
Syntax :public boolean markSupported() Returns: false, always
- int read() : lee un solo byte de datos comprimidos del flujo de entrada.
Syntax :public int read() throws IOException Returns: a single byte of compressed data, or -1 if the end of the uncompressed input stream is reached Throws: IOException
- int read(byte[] b, int off, int len) : Lee datos comprimidos en una array de bytes.
Syntax :public int read(byte[] b, int off, int len) throws IOException Parameters: b - buffer into which the data is read off - starting offset of the data within b len - maximum number of compressed bytes to read into b Returns: the actual number of bytes read, or -1 if the end of the uncompressed input stream is reached Throws: IndexOutOfBoundsException IOException
- void reset() : esta operación no es compatible.
Syntax :public void reset() throws IOException Throws: IOException
- long skip(long n) : Omite y descarta datos del flujo de entrada.
Syntax :public long skip(long n) throws IOException Parameters: n - number of bytes to be skipped Returns: the actual number of bytes skipped Throws: IOException
Programa:
//Java program to illustrate DeflaterInputStream class import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.zip.DeflaterInputStream; class DeflaterInputStreamDemo { public static void main(String[] args) throws IOException { byte b[] = new byte[10]; for (byte i = 0; i <10 ; i++) { b[i] = i; } ByteArrayInputStream bin = new ByteArrayInputStream(b); DeflaterInputStream din = new DeflaterInputStream(bin); //illustrating markSupported() method System.out.println(din.markSupported()); //illustrating skip() method din.skip(1); //illustrating available() method System.out.println(din.available()); //illustrating read(byte[] b,int off,int len) byte c[] = new byte[10]; din.read(c,0,9); for (int i = 0; i < 9; i++) { System.out.print(c[i]); } while(din.available() == 1) { //Reads a single byte of compressed data System.out.print(din.read()); } System.out.println(); System.out.println(din.available()); // illustrating close() method din.close(); } }
Producción :
false 1 -1009996100981029710199231224400175046-1 0
La salida anterior representa datos comprimidos.
Artículo siguiente: Clase Java.util.zip.DeflaterOutputStream 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