FileChannel.Write 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | 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 所創建與分享的作品,並依授權條款所描述的使用進行修改。