InputStream.ReadNBytes 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
ReadNBytes(Int32) |
從輸入數據流讀取最多指定的位元元數目。 |
ReadNBytes(Byte[], Int32, Int32) |
將輸入數據流中要求的位元組數目讀取至指定的位元組陣列。 |
ReadNBytes(Int32)
從輸入數據流讀取最多指定的位元元數目。
[Android.Runtime.Register("readNBytes", "(I)[B", "GetReadNBytes_IHandler", ApiSince=33)]
public virtual byte[]? ReadNBytes (int len);
[<Android.Runtime.Register("readNBytes", "(I)[B", "GetReadNBytes_IHandler", ApiSince=33)>]
abstract member ReadNBytes : int -> byte[]
override this.ReadNBytes : int -> byte[]
參數
- len
- Int32
要讀取的位元組數目上限
傳回
位元組陣列,包含從這個輸入數據流讀取的位元組
- 屬性
備註
從輸入數據流讀取最多指定的位元元數目。 這個方法會封鎖直到讀取要求的位元組數目、偵測到數據流結尾,或擲回例外狀況為止。 這個方法不會關閉輸入數據流。
傳回數位的長度等於從數據流讀取的位元組數目。 如果 len
為零,則不會讀取任何位元組,並傳回空的位元組陣列。 否則,最多會從數據流讀取位元組 len
。 如果遇到數據流結尾,可能會讀取少於 len
位元組。
當這個數據流到達數據流結尾時,這個方法的進一步調用會傳回空的位元組陣列。
請注意,這個方法適用於將指定位元組數目讀入位元組數位的簡單案例。 這個方法配置的記憶體總量與從 所系結 len
之數據流讀取的位元元組數目成正比。 因此,可以使用非常大量的可用記憶體值 len
安全地呼叫 方法。
異步關閉輸入數據流或讀取期間中斷線程的行為是高度輸入數據流特定,因此未指定。
如果從輸入數據流讀取 I/O 錯誤,則在讀取某些位元組但並非全部之後,可能會執行此動作。 因此,輸入數據流可能不在數據流結尾,而且可能處於不一致的狀態。 強烈建議在發生 I/O 錯誤時,立即關閉數據流。
已在11中新增。
的 java.io.InputStream.readNBytes(int)
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
適用於
ReadNBytes(Byte[], Int32, Int32)
將輸入數據流中要求的位元組數目讀取至指定的位元組陣列。
[Android.Runtime.Register("readNBytes", "([BII)I", "GetReadNBytes_arrayBIIHandler", ApiSince=33)]
public virtual int ReadNBytes (byte[]? b, int off, int len);
[<Android.Runtime.Register("readNBytes", "([BII)I", "GetReadNBytes_arrayBIIHandler", ApiSince=33)>]
abstract member ReadNBytes : byte[] * int * int -> int
override this.ReadNBytes : byte[] * int * int -> int
參數
- b
- Byte[]
讀取數據的位元組陣列
- off
- Int32
寫入數據的起始位移b
- len
- Int32
要讀取的位元組數目上限
傳回
讀取至緩衝區的實際位元元組數目
- 屬性
備註
將輸入數據流中要求的位元組數目讀取至指定的位元組陣列。 這個方法會封鎖 len
直到讀取輸入數據的位元組、偵測到數據流結尾,或擲回例外狀況為止。 實際讀取的位元組數目,可能為零, 會傳回。 這個方法不會關閉輸入數據流。
在讀取位元組之前 len
到達數據流結尾的情況下,則會傳回實際讀取的位元元組數目。 當這個數據流到達數據流結尾時,這個方法的進一步調用會傳回零。
如果 len
為零,則不會讀取任何位元組並 0
傳回,否則會嘗試讀取最多位元組 len
。
第一個字節讀取會儲存到 元素 b[off]
中,下一個字節會儲存至 b[off+1]
,依此儲存。 讀取的位元組數目最多等於 len
。 Let k 是實際讀取的位元組數目;這些位元組會透過 b[off+
k-1]
儲存在元素b[off]
中,讓元素 b[off+
k]
透過b[off+len-1]
不受影響。
異步關閉輸入數據流或讀取期間中斷線程的行為是高度輸入數據流特定,因此未指定。
如果從輸入數據流讀取 I/O 錯誤,則在輸入數據流中的數據已更新 的位元組之後, b
可能會執行此動作。 因此,輸入數據流可能 b
處於不一致的狀態。 強烈建議在發生 I/O 錯誤時,立即關閉數據流。
已在 9 中新增。
的 java.io.InputStream.readNBytes(byte[], int, int)
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。