logo

Clase Java.util.zip.InflaterInputStream en Java

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 
    relleno vacío protegido() : Fills input buffer with more data to decompress.
      Syntax :   protected void fill() throws IOException   Throws:   IOException 
    marca nula (int readlimit): Marks the current position in this input stream.
      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 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[] bint offint len)  byte b[]=new byte[4];    for (int i = 0; i <4 ; i++)   {  iis.read(b04);  }    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 Crear cuestionario