Java.io.BufferedInputStream類範例


Java.io.BufferedInputStream 類新增功能到另一個輸入流,緩衝輸入以及支援mark和reset methods.Following是關於緩衝輸入流的要點:

  • 當建立緩衝輸入,建立一個內部緩衝區陣列。

  • 如從該流的位元組被讀出或跳過,內部緩衝器被再從包含的輸入流,許多位元組一次必要的。

類的宣告

以下是java.io.BufferedInputStream類的宣告:

public class BufferedInputStream
   extends FilterInputStream

欄位域

以下是java.io.BufferedInputStream類中的欄位:

  • protected byte[] buf -- 這是其中資料儲存在內部緩衝器陣列。

  • protected int count -- 這是該指數1大於在緩衝器中的最後一個有效位元組的索引。

  • protected int marklimit -- 這是預讀之前,後續呼叫reset方法失敗呼叫mark方法後允許的最大值。

  • protected int markpos -- 這是pos區域在最後標記方法被呼叫時的值。

  • protected int pos -- 這是在緩衝器中的當前位置。

  • protected InputStream in -- 這是將進行過濾的輸入流。

類建構函式

S.N. 建構函式 & 描述
1 BufferedInputStream(InputStream in) 
這將建立一個緩衝輸入並儲存其引數在輸入流中,以備後用。
2 BufferedInputStream(InputStream in, int size) 
這將建立具有指定緩衝區大小的一個緩衝輸入流,並儲存其引數在輸入流中,以備後用。

類方法

S.N. 方法 & 描述
1 int available() 
此方法從這個輸入流中可通過一個方法的下一次呼叫阻塞該輸入流返回可以讀取(或跳過)的位元組數的估計值。
2 void close() 
此方法關閉此輸入流並釋放與該流關聯的所有系統資源。
3 void mark(int readlimit) 
此方法請參閱InputStream的mark方法的常規協定。
4 boolean markSupported() 
如果此輸入流是否支援mark和reset方法的方法測試。
5 int read() 
此方法讀取從輸入流中的下一個資料位元組。
6 int read(byte[] b, int off, int len) 
此方法讀取該位元組輸入流中的位元組到指定的位元組陣列,並從給定的偏移量。
7 void reset() 
此方法重新定位這個流,以當時的mark方法最後呼叫這個輸入流中的位置。
8 long skip(long n) 
此方法跳過並丟棄n個位元組從此輸入流中的資料。

繼承的方法

這個類繼承自以下類方法:

  • Java.io.FilterInputStream

  • Java.io.Object