語言

FileChannel.Write 方法

定義

多載

名稱 Description
Write(ByteBuffer[])

從給定緩衝區寫入一串位元組到此通道。

Write(ByteBuffer[], Int32, Int32)

從給定緩衝區的子序列中寫入一串位元組到此通道。

Write(ByteBuffer)

從給定的緩衝區寫入一串位元組到該通道。

Write(ByteBuffer, Int64)

從指定緩衝區寫入一串位元組到該通道,從指定檔案位置開始。

Write(ByteBuffer[])

從給定緩衝區寫入一串位元組到此通道。

[Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;)J", "")]
public long Write(Java.Nio.ByteBuffer[]? srcs);
[<Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;)J", "")>]
abstract member Write : Java.Nio.ByteBuffer[] -> int64
override this.Write : Java.Nio.ByteBuffer[] -> int64

參數

srcs
ByteBuffer[]

要從中擷取位元組的緩衝區

傳回

寫入的位元組數,可能是零

實作

屬性

例外狀況

如果在這個寫入操作中,另一個執行緒關閉了這個通道。

如果有其他執行緒在此操作進行中中斷呼叫執行緒。 呼叫執行緒的中斷狀態被設定,通道關閉。

如果這個頻道被關閉了。

若發生其他 I/O 錯誤;詳情已在訊息中。

如果這個頻道沒有開放給寫作。

備註

從給定緩衝區寫入一串位元組到此通道。

位元組會從該通道目前的檔案位置開始寫入,除非通道處於附加模式,此時該位置會先推進到檔案的末尾。 如果需要,檔案會被放大以容納寫入的位元組,然後檔案位置會更新為實際寫入的位元組數。 否則此方法的行為完全符合介面中 GatheringByteChannel 指定的設定。

Java 文件 java.nio.channels.FileChannel.write(java.nio.ByteBuffer[])。

Java 參考 java.nio.channels.FileChannel.write。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

Write(ByteBuffer[], Int32, Int32)

從給定緩衝區的子序列中寫入一串位元組到此通道。

[Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;II)J", "GetWrite_arrayLjava_nio_ByteBuffer_IIHandler")]
public abstract long Write(Java.Nio.ByteBuffer[]? srcs, int offset, int length);
[<Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;II)J", "GetWrite_arrayLjava_nio_ByteBuffer_IIHandler")>]
abstract member Write : Java.Nio.ByteBuffer[] * int * int -> int64

參數

srcs
ByteBuffer[]

要從中擷取位元組的緩衝區

offset
Int32

第一個緩衝區 buffers 的索引,從中取得位元組。

length
Int32

就是要從中取得位元組的緩衝區數量。

傳回

寫入的位元組數,可能是零

實作

屬性

例外狀況

如果在這個寫入操作中,另一個執行緒關閉了這個通道。

如果有其他執行緒在此操作進行中中斷呼叫執行緒。 呼叫執行緒的中斷狀態被設定,通道關閉。

如果這個頻道被關閉了。

若 offset 或 ,或 length 若 大於 的offset + lengthbuffers大小。

若發生其他 I/O 錯誤;詳情已在訊息中。

如果這個頻道沒有開放給寫作。

備註

從給定緩衝區的子序列中寫入一串位元組到此通道。

位元組會從該通道目前的檔案位置開始寫入,除非通道處於附加模式,此時該位置會先推進到檔案的末尾。 如果需要,檔案會被放大以容納寫入的位元組,然後檔案位置會更新為實際寫入的位元組數。 否則此方法的行為完全符合介面中 GatheringByteChannel 指定的設定。

Java 文件 java.nio.channels.FileChannel.write(java.nio.ByteBuffer[], int, int)。

Java 參考 java.nio.channels.FileChannel.write。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

Write(ByteBuffer)

從給定的緩衝區寫入一串位元組到該通道。

[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)I", "GetWrite_Ljava_nio_ByteBuffer_Handler")]
public abstract int Write(Java.Nio.ByteBuffer? src);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)I", "GetWrite_Ljava_nio_ByteBuffer_Handler")>]
abstract member Write : Java.Nio.ByteBuffer -> int

參數

src
ByteBuffer

包含待寫入位元組的位元組緩衝區。

傳回

寫入的位元組數,可能是零

實作

屬性

例外狀況

如果該頻道未開放寫作。

如果通道已經關閉。

如果寫入過程中有其他執行緒關閉了通道。

如果有其他執行緒在此操作進行中中斷呼叫執行緒。 呼叫執行緒的中斷狀態被設定,通道關閉。

若發生其他 I/O 錯誤,詳細資訊會放在訊息中。

備註

從給定的緩衝區寫入一串位元組到該通道。

位元組會從該通道目前的檔案位置開始寫入,除非通道處於附加模式,此時該位置會先推進到檔案的末尾。 如果需要,檔案會被放大以容納寫入的位元組,然後檔案位置會更新為實際寫入的位元組數。 否則,此方法的行為完全符合介面所 WritableByteChannel 指定的。

Java 文件 java.nio.channels.FileChannel.write(java.nio.ByteBuffer)。

Java 參考 java.nio.channels.FileChannel.write。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

另請參閱

適用於

Write(ByteBuffer, Int64)

從指定緩衝區寫入一串位元組到該通道,從指定檔案位置開始。

[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;J)I", "GetWrite_Ljava_nio_ByteBuffer_JHandler")]
public abstract int Write(Java.Nio.ByteBuffer? src, long position);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;J)I", "GetWrite_Ljava_nio_ByteBuffer_JHandler")>]
abstract member Write : Java.Nio.ByteBuffer * int64 -> int

參數

src
ByteBuffer

位元組要從中傳送的緩衝區

position
Int64

傳輸開始的檔案位置;必須是非負數

傳回

寫入的位元組數,可能是零

屬性

例外狀況

如果 position 小於0。

如果這個頻道被關閉了。

如果該通道未以寫入模式開啟。

如果該通道在此方法執行時被另一執行緒關閉,

如果有其他執行緒在此操作進行中中斷呼叫執行緒。 呼叫執行緒的中斷狀態被設定,通道關閉。

如果再發生一次 I/O 錯誤。

備註

從指定緩衝區寫入一串位元組到該通道,從指定檔案位置開始。

此方法的運作方式與原方法 #write(ByteBuffer) 相同,不同之處在於位元組是從指定檔案位置開始寫入,而非通道當前位置。 此方法不會改變該通道的位置。 若指定位置大於檔案目前大小,檔案會被成長以容納新位元組;介於前一個檔案結束點與新寫入位元組之間的位元組值則未指定。

Java 文件 java.nio.channels.FileChannel.write(java.nio.ByteBuffer, long)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於