logo

Java의 Java.util.zip.InflaterInputStream 클래스

이 클래스는 'deflate' 압축 형식의 데이터 압축을 풀기 위한 스트림 필터를 구현합니다. 또한 GZIPInputStream과 같은 다른 압축 해제 필터의 기초로도 사용됩니다. 생성자
    InflaterInputStream(InputStream 입력) :기본 압축 해제기와 버퍼 크기를 사용하여 새 입력 스트림을 만듭니다. InflaterInputStream(Inflater inf의 입력스트림):지정된 압축 해제기와 기본 버퍼 크기를 사용하여 새 입력 스트림을 만듭니다. InflaterInputStream(Inflater inf int size의 InputStream):지정된 압축 해제기와 버퍼 크기를 사용하여 새 입력 스트림을 만듭니다.
행동 양식:
    정수 사용 가능() : 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 
    무효 닫기() : Closes this input stream and releases any system resources associated with the stream.
      Syntax :   public void close() throws IOException   Throws:   IOException 
    보호된 무효 채우기(): Fills input buffer with more data to decompress.
      Syntax :   protected void fill() throws IOException   Throws:   IOException 
    무효 표시(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.
    부울 마크지원(): 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. 
    정수 읽기() : 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 
    무효 재설정() : 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(b04);  }    for (int i = 0; i < 4; i++)   {  System.out.print(b[i]);  }  } } 
산출:
1 false 3456789
다음 기사: Java의 Java.util.zip.InflaterOutputStream 클래스 퀴즈 만들기