logo

Clasa Java.util.zip.InflaterInputStream în Java

Această clasă implementează un filtru de flux pentru decomprimarea datelor în formatul de compresie „deflate”. De asemenea, este folosit ca bază pentru alte filtre de decompresie, cum ar fi GZIPInputStream. Constructorii
    InflaterInputStream(InputStream in):Creează un nou flux de intrare cu un decompresor și o dimensiune de tampon implicite. InflaterInputStream(InputStream în Inflater inf):Creează un nou flux de intrare cu decompresorul specificat și o dimensiune implicită a tamponului. InflaterInputStream(InputStream în dimensiunea Inflater inf int):Creează un nou flux de intrare cu decompresorul și dimensiunea tamponului specificate.
Metode:
    int disponibil() : 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 
    void close() : Closes this input stream and releases any system resources associated with the stream.
      Syntax :   public void close() throws IOException   Throws:   IOException 
    umplere goală protejată() : Fills input buffer with more data to decompress.
      Syntax :   protected void fill() throws IOException   Throws:   IOException 
    marcare nulă (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 booleanSupported() : 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 read(): 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 
    void reset(): 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 
    salt lung (n lung): 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 
Program: 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]);  }  } } 
Ieșire:
1 false 3456789
Articolul următor: Clasa Java.util.zip.InflaterOutputStream în Java Creați un test