Клас Java.util.zip.InflaterInputStream у Java

Цей клас реалізує фільтр потоку для розпакування даних у форматі стиснення «deflate». Він також використовується як основа для інших фільтрів декомпресії, таких як GZIPInputStream. Конструктори
    InflaterInputStream(InputStream in) : Створює новий вхідний потік із декомпресором і розміром буфера за замовчуванням. InflaterInputStream(InputStream у Inflater inf) : Створює новий вхідний потік із зазначеним декомпресором і розміром буфера за замовчуванням. InflaterInputStream(InputStream у Inflater int int size): Створює новий вхідний потік із указаним розпаковувачем і розміром буфера.
Методи:
    int available() : 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  
    захищений void fill() : Fills input buffer with more data to decompress.
      Syntax :   protected void fill() throws IOException   Throws:   IOException  
    void mark(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. 
    логічне значення markSupported(): 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  
    довгий пропуск (довгий n): 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  
програма: 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  (  b    0    4  );      }          for     (  int     i     =     0  ;     i      <     4  ;     i  ++  )         {      System  .  out  .  print  (  b  [  i  ]  );      }      }   }   
Вихід:
1 false 3456789 
Наступна стаття: Клас Java.util.zip.InflaterOutputStream у Java Створіть вікторину