語言

InputStream.ReadNBytes 方法

定義

多載

名稱 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

最大可讀取的位元組數

傳回

Byte[]

一個包含從此輸入串流讀取的位元組陣列

屬性

備註

從輸入串流讀取最多指定數量的位元組。 此方法會阻塞直到讀取所需位元組數、偵測到串流結束或拋出例外為止。 此方法不會關閉輸入串流。

回傳陣列的長度等於從串流讀取的位元組數。 若 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 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於