IScatteringByteChannel.Read 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| Read(ByteBuffer[]) |
從此通道讀取一串位元組到給定的緩衝區。 |
| Read(ByteBuffer[], Int32, Int32) |
從此通道讀取一串位元組到給定緩衝區的子序列中。 |
Read(ByteBuffer[])
從此通道讀取一串位元組到給定的緩衝區。
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;)J", "GetRead_arrayLjava_nio_ByteBuffer_Handler:Java.Nio.Channels.IScatteringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public long Read(Java.Nio.ByteBuffer[]? dsts);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;)J", "GetRead_arrayLjava_nio_ByteBuffer_Handler:Java.Nio.Channels.IScatteringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Read : Java.Nio.ByteBuffer[] -> int64
參數
- dsts
- ByteBuffer[]
位元組要傳送到的緩衝區
傳回
讀取的位元組數,可能是零,或 -1 通道已結束串流
- 屬性
例外狀況
如果在此讀取操作中,通道被另一執行緒關閉。
如果有其他執行緒在操作進行中中斷呼叫執行緒。 呼叫執行緒的中斷狀態被設定,通道關閉。
如果頻道關閉。
若發生其他 I/O 錯誤;詳情已在訊息中。
如果通道未以允許讀取的模式開啟。
備註
從此通道讀取一串位元組到給定的緩衝區。
此形式的 c.read(dsts) 呼叫行為與呼叫完全相同
<引用>
c.read(dsts, 0, dsts.length);
</區塊引用>
Java 文件 java.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[])。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
Read(ByteBuffer[], Int32, Int32)
從此通道讀取一串位元組到給定緩衝區的子序列中。
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;II)J", "GetRead_arrayLjava_nio_ByteBuffer_IIHandler:Java.Nio.Channels.IScatteringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public long Read(Java.Nio.ByteBuffer[]? dsts, int offset, int length);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;II)J", "GetRead_arrayLjava_nio_ByteBuffer_IIHandler:Java.Nio.Channels.IScatteringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Read : Java.Nio.ByteBuffer[] * int * int -> int64
參數
- dsts
- ByteBuffer[]
位元組要傳送到的緩衝區
- offset
- Int32
第一個緩衝區的緩衝區陣列中的偏移量,該緩衝區將位元組傳送到該緩衝區;必須非負且不大於 dsts.length
- length
- Int32
可存取的最大緩衝區數量;必須非負且不大於 dsts.length - offset
傳回
讀取的位元組數,可能是零,或 -1 通道已結束串流
- 屬性
例外狀況
如果在此讀取操作中,通道被另一執行緒關閉。
如果有其他執行緒在操作進行中中斷呼叫執行緒。 呼叫執行緒的中斷狀態被設定,通道關閉。
如果頻道關閉。
若 offset 或 ,或 length 若 大於 的offset + lengthbuffers大小。
若發生其他 I/O 錯誤;詳情已在訊息中。
如果通道未以允許讀取的模式開啟。
備註
從此通道讀取一串位元組到給定緩衝區的子序列中。
此方法的呼叫嘗試從該通道讀取最多 r 個位元組,其中 r 是該緩衝區陣列指定子序列中剩餘的總位元組數,即,
<引用>
dsts[offset].remaining()
+ dsts[offset+1].remaining()
+ ... + dsts[offset+length-1].remaining()
</區塊引用>
在此方法被啟動的瞬間。
假設讀取長度 為 n 的位元組序列,其中 0& nbsp;<= n <= R。 此序列的前幾個 dsts[offset].remaining() 位元組會被傳送到緩衝 dsts[offset]區,直到接下來 dsts[offset+1].remaining() 的位元組被轉移到緩衝 dsts[offset+1]區,依此類推,直到整個位元組序列被傳送到給定的緩衝區。 每個緩衝區會傳輸盡可能多的位元組,因此除了最後更新的緩衝區外,每個更新緩衝區的最終位置都保證等於該緩衝區的限制。
此方法可隨時啟動。 然而,如果已有其他執行緒對該通道發起讀取操作,則呼叫此方法會阻塞,直到第一個操作完成。
Java 文件 java.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[], int, int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。