InputStream.ReadNBytes 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| 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 文件 java.io.InputStream.readNBytes(int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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的位元組數最多等於 。 設 k 為實際讀取的位元組數;這些位元組會以元素儲存在 b[off+k-1] 以內的元素b[off]中,而 k] 以內b[off+len-1]的元素b[off+則不受影響。
當輸入串流非 同步閉合或執行緒在讀取過程中中斷時,行為高度依賴輸入串流,因此未特別指定。
如果從輸入串流讀取時發生 I/O 錯誤,則可能是在部分位元組 b 已更新輸入資料後才發生。 因此,輸入串流 和 b 可能處於不一致狀態。 強烈建議若發生 I/O 錯誤,應立即關閉串流。
新增9。
Java 文件 java.io.InputStream.readNBytes(byte[], int, int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。