JavaTM 2 Platform
Standard Ed. 6

java.io
類別 SequenceInputStream

java.lang.Object
  繼承者 java.io.InputStream
      繼承者 java.io.SequenceInputStream
所有已實作的介面:
Closeable

public class SequenceInputStream
extends InputStream

SequenceInputStream 表示其他輸入串流的邏輯串聯。它從輸入串流的有序集合開始,並從第一個輸入串流開始讀取,直到到達檔案末尾,接著從第二個輸入串流讀取,依次類別推,直到到達包含的最後一個輸入串流的檔案末尾為止。

從以下版本開始:
JDK1.0

建構子摘要
SequenceInputStream(Enumeration<? extends InputStream> e)
          通過記住參數來初始化新創建的 SequenceInputStream,該參數必須是產生運行時型別為 InputStream 物件的 Enumeration 型參數。
SequenceInputStream(InputStream s1, InputStream s2)
          通過記住這兩個參數來初始化新創建的 SequenceInputStream(將按順序讀取這兩個參數,先讀取 s1,然後讀取 s2),以提供從此 SequenceInputStream 讀取的位元組。
 
方法摘要
 int available()
          返回不受阻塞地從當前底層輸入串流讀取(或跳過)的位元組數的估計值,方法是通過下一次調用當前底層輸入串流的方法。
 void close()
          關閉此輸入串流並釋放與此串流關聯的所有系統資源。
 int read()
          從此輸入串流中讀取下一個資料位元組。
 int read(byte[] b, int off, int len)
          將最多 len 個資料位元組從此輸入串流讀入 byte 陣列。
 
從類別 java.io.InputStream 繼承的方法
mark, markSupported, read, reset, skip
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

SequenceInputStream

public SequenceInputStream(Enumeration<? extends InputStream> e)
通過記住參數來初始化新創建的 SequenceInputStream,該參數必須是產生運行時型別為 InputStream 物件的 Enumeration 型參數。將按順序讀取由該列舉產生的輸入串流,以提供從此 SequenceInputStream 讀取的位元組。在用盡列舉中的每個輸入串流之後,將通過調用該串流的 close 方法將其關閉。

參數:
e - 輸入串流的一個列舉。
另請參見:
Enumeration

SequenceInputStream

public SequenceInputStream(InputStream s1,
                           InputStream s2)
通過記住這兩個參數來初始化新創建的 SequenceInputStream(將按順序讀取這兩個參數,先讀取 s1,然後讀取 s2),以提供從此 SequenceInputStream 讀取的位元組。

參數:
s1 - 要讀取的第一個輸入串流。
s2 - 要讀取的第二個輸入串流。
方法詳細資訊

available

public int available()
              throws IOException
返回不受阻塞地從當前底層輸入串流讀取(或跳過)的位元組數的估計值,方法是通過下一次調用當前底層輸入串流的方法。下一次調用可能是相同的或不同的執行緒。此方法的單個讀取或跳過操作可以讀取或跳過許多位元組而不受阻塞,但也可能讀取或跳過較少的位元組。

此方法僅調用當前底層輸入串流的 available 方法並返回結果。

覆寫:
類別 InputStream 中的 available
返回:
不受阻塞地從當前底層輸入串流讀取(或跳過)的位元組數的估計值,如果此輸入串流已通過調用其 close() 方法關閉,則返回 0
拋出:
IOException - 如果發生 I/O 錯誤。
從以下版本開始:
JDK1.1

read

public int read()
         throws IOException
從此輸入串流中讀取下一個資料位元組。返回 0255 範圍內的 int 位元組。如果因為已經到達串流的末尾而沒有可用的位元組,則返回值 -1。在輸入資料可用、檢測到串流的末尾或者拋出異常之前,此方法一直阻塞。

此方法嘗試從當前子串流讀取一個位元組。如果到達串流的末尾,它將調用當前子串流的 close 方法,並從下一個子串流開始讀取位元組。

指定者:
類別 InputStream 中的 read
返回:
下一個資料位元組,如果到達串流的末尾,則返回 -1
拋出:
IOException - 如果發生 I/O 錯誤。

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
將最多 len 個資料位元組從此輸入串流讀入 byte 陣列。如果 len 不為 0,則此方法一直阻塞,直到至少 1 個輸入位元組可用;否則,不讀取位元組並返回 0

SequenceInputStreamread 方法嘗試從當前子串流中讀取該資料。如果由於子串流到達串流的末尾而未能讀取任何字元,那麼它將調用當前子串流的 close 方法,並從下一個子串流開始讀取。

覆寫:
類別 InputStream 中的 read
參數:
b - 讀入資料的緩衝區。
off - 寫入資料的陣列 b 中的初始偏移量。
len - 讀取的最多位元組數。
返回:
讀取的位元組數 int。
拋出:
NullPointerException - 如果 bnull
IndexOutOfBoundsException - 如果 offlen 為負,或者 len 大於 b.length - off
IOException - 如果發生 I/O 錯誤。
另請參見:
InputStream.read()

close

public void close()
           throws IOException
關閉此輸入串流並釋放與此串流關聯的所有系統資源。關閉的 SequenceInputStream 無法執行輸入操作,且無法重新打開。

如果此串流是根據一個列舉創建的,則其餘所有元素都是從該列舉中請求的,並在 close 方法返回之前關閉。

指定者:
介面 Closeable 中的 close
覆寫:
類別 InputStream 中的 close
拋出:
IOException - 如果發生 I/O 錯誤。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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