|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface GatheringByteChannel
可從緩衝區序列寫入位元組的通道。
集中 寫入操作可在單個調用中寫入來自一個或多個給定緩衝區序列的位元組序列。集中寫入通常在實作網路協議或檔案格式時很有用,例如將資料分組放入段中(這些段由一個或多個長度固定的頭,後跟長度可變的正文組成)。在 ScatteringByteChannel
介面中定義了類似的分散 讀取操作。
方法摘要 | |
---|---|
long |
write(ByteBuffer[] srcs)
將位元組序列從給定的緩衝區寫入此通道。 |
long |
write(ByteBuffer[] srcs,
int offset,
int length)
將位元組序列從給定緩衝區的子序列寫入此通道。 |
從介面 java.nio.channels.WritableByteChannel 繼承的方法 |
---|
write |
從介面 java.nio.channels.Channel 繼承的方法 |
---|
close, isOpen |
方法詳細資訊 |
---|
long write(ByteBuffer[] srcs, int offset, int length) throws IOException
嘗試最多向此通道中寫入 r 個位元組,其中 r 是給定緩衝區陣列的指定子序列中剩餘的位元組數,也就是
srcs[offset].remaining() + srcs[offset+1].remaining() + ... + srcs[offset+length-1].remaining()
假定寫入長度為 n 的位元組序列,其中 0 <= n <= r。從緩衝區 srcs[offset] 中寫入此序列的前 srcs[offset].remaining() 個位元組,然後從緩衝區 srcs[offset+1] 中寫入後面的 srcs[offset+1].remaining() 個位元組,依此類別推,直到寫入整個位元組序列。從每個緩衝區中寫入盡可能多的位元組,因為要保證每個已更新緩衝區(最後一個已更新緩衝區除外)的最終位置等於該緩衝區的限制。
除非另行指定,否則僅在寫入所有請求的 r 個位元組後 write 操作才會返回。有些型別的通道(取決於它們的狀態)可能僅寫入某些位元組或者可能根本不寫入。例如,處於非阻塞網要的Socket通道無法寫入超出該Socket輸出緩衝區剩餘空間的位元組。
可在任意時間調用此方法。但是如果另一個執行緒已經在此通道上發起了一個寫入操作,則在該操作完成前此方法的調用被阻塞。
src
- 要獲取其中位元組的緩衝區offset
- 第一個緩衝區(要獲取該緩衝區中的位元組)在緩衝區陣列中的偏移量;必須為非負數並且不能大於 srcs.lengthlength
- 要存取的最大緩衝區數;必須為非負數並且不能大於 srcs.length - offset
IndexOutOfBoundsException
- 如果關於 offset 和 length 參數的前提不成立
NonWritableChannelException
- 如果不允許對此通道進行寫入操作
ClosedChannelException
- 如果此通道已關閉
AsynchronousCloseException
- 如果正在進行寫入操作時另一個執行緒關閉了此通道
ClosedByInterruptException
- 如果正在進行寫入操作時另一個執行緒中斷了當前執行緒,因此關閉了該通道並將當前執行緒的狀態設置為中斷
IOException
- 如果發生其他 I/O 錯誤long write(ByteBuffer[] srcs) throws IOException
調用此方法的形式為 c.write(srcs) ,該調用與以下調用完全相同:
c.write(srcs, 0, srcs.length);
src
- 要獲取其中位元組的緩衝區
NonWritableChannelException
- 如果不允許對此通道進行寫入操作
ClosedChannelException
- 如果此通道已關閉
AsynchronousCloseException
- 如果正在進行寫入操作時另一個執行緒關閉了此通道
ClosedByInterruptException
- 如果正在進行寫入操作時另一個執行緒中斷了當前執行緒,因此關閉了該通道並將當前執行緒的狀態設置為中斷
IOException
- 如果發生其他 I/O 錯誤
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。