FileChannel.Read 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| Read(ByteBuffer, Int64) |
從該通道讀取一串位元組到指定緩衝區,從指定的檔案位置開始。 |
| Read(ByteBuffer) |
從此通道讀取一串位元組到給定的緩衝區。 |
| Read(ByteBuffer[]) |
從此通道讀取一串位元組到給定的緩衝區。 |
| Read(ByteBuffer[], Int32, Int32) |
從此通道讀取一串位元組到給定緩衝區的子序列中。 |
Read(ByteBuffer, Int64)
從該通道讀取一串位元組到指定緩衝區,從指定的檔案位置開始。
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;J)I", "GetRead_Ljava_nio_ByteBuffer_JHandler")]
public abstract int Read(Java.Nio.ByteBuffer? dst, long position);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;J)I", "GetRead_Ljava_nio_ByteBuffer_JHandler")>]
abstract member Read : Java.Nio.ByteBuffer * int64 -> int
參數
- dst
- ByteBuffer
位元組要傳送到的緩衝區
- position
- Int64
傳輸開始的檔案位置;必須是非負數
傳回
讀取的位元組數,可能是零,或 -1 是當該位置大小大於或等於檔案目前大小時
- 屬性
例外狀況
如果該通道在此方法執行時被另一執行緒關閉,
如果有其他執行緒在此操作進行中中斷呼叫執行緒。 呼叫執行緒會設定中斷狀態,通道會被關閉。
如果這個頻道被關閉了。
如果 position 小於0。
如果再發生一次 I/O 錯誤。
如果通道未以允許讀取的模式開啟。
備註
從該通道讀取一串位元組到指定緩衝區,從指定的檔案位置開始。
此方法的運作方式與原方法 #read(ByteBuffer) 相同,不同之處在於位元組是從指定檔案位置開始讀取,而非通道當前位置。 此方法不會改變該通道的位置。 若該位置大小大於檔案目前大小,則不會讀取任何位元組。
Java 文件 java.nio.channels.FileChannel.read(java.nio.ByteBuffer, long)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
Read(ByteBuffer)
從此通道讀取一串位元組到給定的緩衝區。
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)I", "GetRead_Ljava_nio_ByteBuffer_Handler")]
public abstract int Read(Java.Nio.ByteBuffer? dst);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)I", "GetRead_Ljava_nio_ByteBuffer_Handler")>]
abstract member Read : Java.Nio.ByteBuffer -> int
參數
- dst
- ByteBuffer
位元組要傳送到的緩衝區
傳回
讀取的位元組數可能是零,若通道已結束串流則為 -1
實作
- 屬性
例外狀況
如果另一個執行緒在讀取過程中關閉了通道。
如果有其他執行緒在讀取過程中中斷呼叫的執行緒。
如果這個頻道被關閉了。
若發生其他 I/O 錯誤,詳細資訊會放在訊息中。
如果通道未以允許讀取的模式開啟。
備註
從此通道讀取一串位元組到給定的緩衝區。
位元組從該通道目前的檔案位置開始讀取,然後檔案位置會依實際讀取的位元組數更新。 否則此方法的行為完全符合介面中 ReadableByteChannel 指定的設定。
Java 文件 java.nio.channels.FileChannel.read(java.nio.ByteBuffer)。
Java 參考 java.nio.channels.FileChannel.read。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
Read(ByteBuffer[])
從此通道讀取一串位元組到給定的緩衝區。
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;)J", "")]
public long Read(Java.Nio.ByteBuffer[]? dsts);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;)J", "")>]
abstract member Read : Java.Nio.ByteBuffer[] -> int64
override this.Read : Java.Nio.ByteBuffer[] -> int64
參數
- dsts
- ByteBuffer[]
位元組要傳送到的緩衝區
傳回
讀取的位元組數可能是零,若通道已結束串流則為 -1
實作
- 屬性
例外狀況
如果在讀取操作中,該通道被另一執行緒關閉。
如果執行緒在此讀取操作中被其他執行緒中斷。
如果這個頻道被關閉了。
若發生其他 I/O 錯誤;詳情已在訊息中。
如果通道未以允許讀取的模式開啟。
備註
從此通道讀取一串位元組到給定的緩衝區。
位元組從該通道目前的檔案位置開始讀取,然後檔案位置會依實際讀取的位元組數更新。 否則此方法的行為完全符合介面中 ScatteringByteChannel 指定的設定。
Java 文件 java.nio.channels.FileChannel.read(java.nio.ByteBuffer[])。
Java 參考 java.nio.channels.FileChannel.read。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
Read(ByteBuffer[], Int32, Int32)
從此通道讀取一串位元組到給定緩衝區的子序列中。
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;II)J", "GetRead_arrayLjava_nio_ByteBuffer_IIHandler")]
public abstract long Read(Java.Nio.ByteBuffer[]? dsts, int offset, int length);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;II)J", "GetRead_arrayLjava_nio_ByteBuffer_IIHandler")>]
abstract member Read : Java.Nio.ByteBuffer[] * int * int -> int64
參數
- dsts
- ByteBuffer[]
位元組要傳送到的緩衝區
- offset
- Int32
第一個緩衝區的緩衝區陣列中的偏移量,該緩衝區將位元組傳送到該緩衝區;必須非負且不大於 dsts.長度
- length
- Int32
可存取的最大緩衝區數量;必須非負且不大於 DSTS。長度 - 偏移量
傳回
讀取的位元組數可能是零,若通道已結束串流則為 -1
實作
- 屬性
例外狀況
如果在讀取操作中,該通道被另一執行緒關閉。
如果執行緒在此讀取操作中被其他執行緒中斷。
如果這個頻道被關閉了。
若 start 或 ,或 number 若 大於 的start + numberbuffers大小。
若發生其他 I/O 錯誤;詳情已在訊息中。
如果通道未以允許讀取的模式開啟。
備註
從此通道讀取一串位元組到給定緩衝區的子序列中。
位元組從該通道目前的檔案位置開始讀取,然後檔案位置會依實際讀取的位元組數更新。 否則此方法的行為完全符合介面中 ScatteringByteChannel 指定的設定。
Java 文件 java.nio.channels.FileChannel.read(java.nio.ByteBuffer[], int, int)。
Java 參考 java.nio.channels.FileChannel.read。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。