Esta clase implementa un filtro de flujo para descomprimir datos en el formato de compresión 'deflate'. También se utiliza como base para otros filtros de descompresión como GZIPInputStream. Constructores
InfladorInputStream(InputStream en):
Crea un nuevo flujo de entrada con un descompresor y un tamaño de búfer predeterminados.
InfladorInputStream(InputStream en Inflador inf):
Crea una nueva secuencia de entrada con el descompresor especificado y un tamaño de búfer predeterminado.
InfladorInputStream(InputStream en Inflador inf int tamaño):
Crea un nuevo flujo de entrada con el descompresor y el tamaño de búfer especificados. Métodos:
int disponible() :
Returns 0 after EOF has been reached otherwise always return 1.
Syntax : public int available() throws IOException Returns: 1 before EOF and 0 after EOF. Throws: IOException
cierre vacío() :
Closes this input stream and releases any system resources associated with the stream.
Syntax : public void close() throws IOException Throws: IOException
Syntax : public void mark(int readlimit) Parameters: readlimit - the maximum limit of bytes that can be read before the mark position becomes invalid.
marca booleanaSupported() :
Tests if this input stream supports the mark and reset methods.
Syntax : public boolean markSupported() Returns: a boolean indicating if this stream type supports the mark and reset methods.
int lectura() :
Reads a byte of uncompressed data.
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):
Reads uncompressed data into an array of 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
reinicio vacío() :
Repositions this stream to the position at the time the mark method was last called on this input stream.
Syntax : public void reset() throws IOException Throws: IOException
salto largo (n largo):
Skips specified number of bytes of uncompressed data.
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
//Java program to demonstrate InflaterInputStreamimportjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.util.zip.DeflaterOutputStream;importjava.util.zip.InflaterInputStream;classInflaterInputStreamDemo{publicstaticvoidmain(String[]args)throwsIOException{FileOutputStreamfos=newFileOutputStream('file.txt');//Assign FileOutputStream to DeflaterOutputStreamDeflaterOutputStreamdos=newDeflaterOutputStream(fos);//write it into DeflaterOutputStreamfor(inti=0;i<10;i++){dos.write(i);}dos.flush();dos.close();FileInputStreamfis=newFileInputStream('file.txt');InflaterInputStreamiis=newInflaterInputStream(fis);//illustrating available() methodSystem.out.println(iis.available());//illustrating mark and markSupported()if(iis.markSupported())iis.mark(15);elseSystem.out.println(false);//illustrating skip() methodiis.skip(3);//illustrating read()for(inti=0;i<3;i++){System.out.print(iis.read());}//illustrating read(byte[] bint offint len)byteb[]=newbyte[4];for(inti=0;i<4;i++){iis.read(b04);}for(inti=0;i<4;i++){System.out.print(b[i]);}}}
Producción:
1 false 3456789
Artículo siguiente: Clase Java.util.zip.InflaterOutputStream en Java Crear cuestionario