語言

FileChannel.Read 方法

定義

多載

名稱 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 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於