|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface WritableByteChannel
可寫入位元組的通道。
在任意給定時刻,一個可寫入通道上只能進行一個寫入操作。如果某個執行緒在通道上發起寫入操作,那麼在第一個操作完成之前,將阻塞其他所有試圖發起另一個寫入操作的執行緒。其他種類別的 I/O 操作是否繼續與寫入操作共時執行則取決於該通道的型別。
方法摘要 | |
---|---|
int |
write(ByteBuffer src)
將位元組序列從給定的緩衝區中寫入此通道。 |
從介面 java.nio.channels.Channel 繼承的方法 |
---|
close, isOpen |
方法詳細資訊 |
---|
int write(ByteBuffer src) throws IOException
嘗試最多向該通道中寫入 r 個位元組,其中 r 是調用此方法時緩衝區中剩餘的位元組數,即 src.remaining()。
假定寫入長度為 n 的位元組序列,其中 0 <= n <= r。從緩衝區的索引 p 處開始傳輸該位元組,其中 p 是調用此方法時該緩衝區的位置;最後寫入的位元組索引是 p + n - 1。返回時,該緩衝區的位置將等於 p + n;其限制不會更改。
除非另行指定,否則僅在寫入所有請求的 r 個位元組後 write 操作才會返回。有些型別的通道(取決於它們的狀態)可能僅寫入某些位元組或者可能根本不寫入。例如,處於非阻塞網要的Socket通道只能寫入該Socket輸出緩衝區中的位元組。
可在任意時間調用此方法。但是如果另一個執行緒已經在此通道上發起了一個寫入操作,則在該操作完成前此方法的調用被阻塞。
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。