JavaTM 2 Platform
Standard Ed. 6

java.util.zip
類別 InflaterInputStream

java.lang.Object
  繼承者 java.io.InputStream
      繼承者 java.io.FilterInputStream
          繼承者 java.util.zip.InflaterInputStream
所有已實作的介面:
Closeable
直接已知子類別:
GZIPInputStream, ZipInputStream

public class InflaterInputStream
extends FilterInputStream

此類別為解壓縮 "deflate" 壓縮格式的資料實作串流過濾器。它還用作其他解壓縮過濾器(如 GZIPInputStream)的基礎。

另請參見:
Inflater

欄位摘要
protected  byte[] buf
          用於解壓縮的輸入緩衝區。
protected  Inflater inf
          串流的解壓縮器。
protected  int len
          輸入緩衝區的長度。
 
從類別 java.io.FilterInputStream 繼承的欄位
in
 
建構子摘要
InflaterInputStream(InputStream in)
          使用預設解壓縮器和緩衝區大小創建一個新輸入串流。
InflaterInputStream(InputStream in, Inflater inf)
          創建一個帶有指定解壓縮器和預設緩衝區大小的新輸入串流。
InflaterInputStream(InputStream in, Inflater inf, int size)
          使用指定解壓縮器和緩衝區大小創建一個新輸入串流。
 
方法摘要
 int available()
          在到達 EOF 後返回 0;否則始終返回 1。
 void close()
          關閉此輸入串流並釋放與該串流關聯的所有系統資源。
protected  void fill()
          使用更多要解壓縮的資料填充輸入緩衝區。
 void mark(int readlimit)
          標記此輸入串流中的當前位置。
 boolean markSupported()
          測試此輸入串流是否支持 markreset 方法。
 int read()
          讀取未壓縮資料的位元組。
 int read(byte[] b, int off, int len)
          將未壓縮資料讀入位元組陣列。
 void reset()
          將此串流重新定位到對此輸入串流最後調用 mark 方法時的位置。
 long skip(long n)
          跳過指定的未壓縮資料的位元組數。
 
從類別 java.io.FilterInputStream 繼承的方法
read
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

inf

protected Inflater inf
串流的解壓縮器。


buf

protected byte[] buf
用於解壓縮的輸入緩衝區。


len

protected int len
輸入緩衝區的長度。

建構子詳細資訊

InflaterInputStream

public InflaterInputStream(InputStream in,
                           Inflater inf,
                           int size)
使用指定解壓縮器和緩衝區大小創建一個新輸入串流。

參數:
in - 輸入串流
inf - 解壓縮器 ("inflater")
size - 輸入緩衝區大小
拋出:
IllegalArgumentException - 如果大小為 <= 0

InflaterInputStream

public InflaterInputStream(InputStream in,
                           Inflater inf)
創建一個帶有指定解壓縮器和預設緩衝區大小的新輸入串流。

參數:
in - 輸入串流
inf - 解壓縮器 ("inflater")

InflaterInputStream

public InflaterInputStream(InputStream in)
使用預設解壓縮器和緩衝區大小創建一個新輸入串流。

參數:
in - 輸入串流
方法詳細資訊

read

public int read()
         throws IOException
讀取未壓縮資料的位元組。在足夠的輸入可用於解壓縮之前,此方法將阻塞。

覆寫:
類別 FilterInputStream 中的 read
返回:
如果到達已壓縮輸入的結尾,則返回所讀取的位元組
拋出:
IOException - 如果發生 I/O 錯誤
另請參見:
FilterInputStream.in

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
將未壓縮資料讀入位元組陣列。如果 len 不為零,則在可以解壓縮某些輸入之前,此方法將處於阻塞狀態;否則不讀取位元組並且返回 0

覆寫:
類別 FilterInputStream 中的 read
參數:
b - 讀入資料的緩衝區
off - 目標陣列 b 中的初始偏移量
len - 讀取位元組的最大數
返回:
讀取位元組的實際數;或者,如果到達已壓縮輸入的結尾或需要預置字典,則返回 -1
拋出:
NullPointerException - 如果 bnull
IndexOutOfBoundsException - 如果 off 為負,或者 len 為負或 len 大於 b.length - off
ZipException - 如果發生 ZIP 格式錯誤
IOException - 如果發生 I/O 錯誤
另請參見:
FilterInputStream.in

available

public int available()
              throws IOException
在到達 EOF 後返回 0;否則始終返回 1。

程序不應依靠此方法返回無阻塞讀取的實際位元組數。

覆寫:
類別 FilterInputStream 中的 available
返回:
在到達 EOF 之前返回 1;在到達 EOF 之後返回 0。
拋出:
IOException - 如果發生 I/O 錯誤。

skip

public long skip(long n)
          throws IOException
跳過指定的未壓縮資料的位元組數。

覆寫:
類別 FilterInputStream 中的 skip
參數:
n - 要跳過的位元組數
返回:
實際跳過的位元組數。
拋出:
IOException - 如果發生 I/O 錯誤
IllegalArgumentException - 如果 n < 0

close

public void close()
           throws IOException
關閉此輸入串流並釋放與該串流關聯的所有系統資源。

指定者:
介面 Closeable 中的 close
覆寫:
類別 FilterInputStream 中的 close
拋出:
IOException - 如果發生 I/O 錯誤
另請參見:
FilterInputStream.in

fill

protected void fill()
             throws IOException
使用更多要解壓縮的資料填充輸入緩衝區。

拋出:
IOException - 如果發生 I/O 錯誤

markSupported

public boolean markSupported()
測試此輸入串流是否支持 markreset 方法。InflaterInputStreammarkSupported 方法返回 false

覆寫:
類別 FilterInputStream 中的 markSupported
返回:
一個 boolean 值,指示此串流型別是否支持 markreset 方法。
另請參見:
InputStream.mark(int), InputStream.reset()

mark

public void mark(int readlimit)
標記此輸入串流中的當前位置。

InflaterInputStreammark 方法不執行任何操作。

覆寫:
類別 FilterInputStream 中的 mark
參數:
readlimit - 在標記位置變為無效前可以讀取位元組的最大限制。
另請參見:
InputStream.reset()

reset

public void reset()
           throws IOException
將此串流重新定位到對此輸入串流最後調用 mark 方法時的位置。

除了拋出 IOException 之外,類別 InflaterInputStream 的方法 reset 不執行任何操作。

覆寫:
類別 FilterInputStream 中的 reset
拋出:
IOException - 如果調用此方法。
另請參見:
InputStream.mark(int), IOException

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only