Esta clase implementa un filtro de flujo para descomprimir datos en el formato de compresión «desinflado». También se utiliza como base para otros filtros de descompresión, como GZIPInputStream.
Constructores
- InflaterInputStream(InputStream in): crea un nuevo flujo de entrada con un descompresor predeterminado y un tamaño de búfer.
- InflaterInputStream(InputStream in, Inflater inf) : crea un nuevo flujo de entrada con el descompresor especificado y un tamaño de búfer predeterminado.
- InflaterInputStream(InputStream in, Inflater inf, int size) : crea un nuevo flujo de entrada con el descompresor 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 Returns: 1 before EOF and 0 after EOF. Throws: IOException
- void close() : Cierra este flujo de entrada y libera cualquier recurso del sistema asociado con el flujo.
Syntax : public void close() throws IOException Throws: IOException
- protected void fill() : Llena el búfer de entrada con más datos para descomprimir.
Syntax : protected void fill() throws IOException Throws: IOException
- void mark(int readlimit) : Marca la posición actual en este flujo de entrada.
Syntax : public void mark(int readlimit) Parameters: readlimit - the maximum limit of bytes that can be read before the mark position becomes invalid.
- boolean markSupported() : comprueba si este flujo de entrada es compatible con los métodos de marcar y restablecer.
Syntax : public boolean markSupported() Returns: a boolean indicating if this stream type supports the mark and reset methods.
- int read() : Lee un byte de datos sin comprimir.
Syntax : public int read() throws IOException Returns: the byte read, or -1 if end of compressed input is reached Throws: IOException
- int read(byte[] b, int off, int len) : Lee datos sin comprimir en una array de bytes.
Syntax : public int read(byte[] b, int off, int len) throws IOException Parameters: b - the buffer into which the data is read off - the start offset in the destination array b len - the maximum number of bytes read Returns: the actual number of bytes read, or -1 if the end of the compressed input is reached. Throws: NullPointerException IndexOutOfBoundsException ZipException IOException
- void reset() : Reposiciona este flujo a la posición en el momento en que se llamó por última vez al método de marca en este flujo de entrada.
Syntax : public void reset() throws IOException Throws: IOException
- salto largo (n largo): salta el número especificado de bytes de datos sin comprimir.
Syntax : public long skip(long n) throws IOException Parameters: n - the number of bytes to skip Returns: the actual number of bytes skipped. Throws: IOException IllegalArgumentException
Programa:
//Java program to demonstrate InflaterInputStream import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.DeflaterOutputStream; import java.util.zip.InflaterInputStream; class InflaterInputStreamDemo { public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream("file.txt"); //Assign FileOutputStream to DeflaterOutputStream DeflaterOutputStream dos = new DeflaterOutputStream(fos); //write it into DeflaterOutputStream for (int i = 0; i < 10; i++) { dos.write(i); } dos.flush(); dos.close(); FileInputStream fis = new FileInputStream("file.txt"); InflaterInputStream iis = new InflaterInputStream(fis); //illustrating available() method System.out.println(iis.available()); //illustrating mark and markSupported() if (iis.markSupported()) iis.mark(15); else System.out.println(false); //illustrating skip() method iis.skip(3); //illustrating read() for (int i = 0; i <3 ; i++) { System.out.print(iis.read()); } //illustrating read(byte[] b,int off,int len) byte b[]=new byte[4]; for (int i = 0; i <4 ; i++) { iis.read(b,0,4); } for (int i = 0; i < 4; i++) { System.out.print(b[i]); } } }
Producción:
1 false 3456789
Artículo siguiente: Clase Java.util.zip.InflaterOutputStream 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