Java.io.BufferedInputStream 類



簡介

Java.io.BufferedInputStream 類為另一個輸入流添加了功能,即緩衝輸入和支援 mark 和 reset 方法的能力。以下是關於 BufferedInputStream 的重要要點:

  • 建立 BufferedInputStream 時,會建立一個內部緩衝區陣列。

  • 隨著從流中讀取或跳過位元組,內部緩衝區會根據需要從包含的輸入流中一次讀取多個位元組進行重新填充。

類宣告

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

public class BufferedInputStream
   extends FilterInputStream

欄位

以下是Java.io.BufferedInputStream 類的欄位:

  • protected byte[] buf - 這是儲存資料的內部緩衝區陣列。

  • protected int count - 這是緩衝區中最後一個有效位元組索引加 1 的值。

  • protected int marklimit - 這是在呼叫 mark 方法後允許的最大讀取提前量,超過此限制,後續對 reset 方法的呼叫將失敗。

  • protected int markpos - 這是上次呼叫 mark 方法時 pos 欄位的值。

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

  • protected InputStream in - 這是要過濾的輸入流。

類建構函式

序號 建構函式 & 描述
1

BufferedInputStream(InputStream in)

這將建立一個 BufferedInputStream 並儲存其引數(輸入流 in),以備後用。

2

BufferedInputStream(InputStream in, int size)

這將建立一個具有指定緩衝區大小的 BufferedInputStream,並儲存其引數(輸入流 in),以備後用。

類方法

序號 方法 & 描述
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
廣告