|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface WritableByteChannel
バイトを書き込むことができるチャネルです。
書き込み可能なチャネル上で、並行して複数の書き込み操作を実行することはできません。チャネル上で書き込み操作を開始したスレッドがある場合、新たな書き込み操作を開始しようとするその他のスレッドは、最初の操作が完了するまでブロックされます。書き込み操作とその他の入出力操作を同時並行で実行できるかどうかは、チャネルの種類によって決まります。
メソッドの概要 | |
---|---|
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 バイトがすべて書き込まれると書き込み操作は終了します。チャネルの種類によっては、その状態に応じて、一部のバイトしか書き込まれない場合や、まったく書き込みが行われない場合もあります。たとえば非ブロックモードのソケットチャネルでは、ソケットの出力バッファー内のバイト数が最大書き込みバイト数になります。
このメソッドはいつでも呼び出すことができます。ただし、ほかのスレッドがこのチャネルに対して書き込み操作を開始している場合、このメソッドの呼び出しは最初の操作が終わるまでブロックされます。
src
- バイトの取得先バッファー
NonWritableChannelException
- このチャネルが書き込み可能でない場合
ClosedChannelException
- このチャネルがクローズしている場合
AsynchronousCloseException
- 書き込み操作の進行中に別のスレッドによってこのチャネルがクローズされた場合
ClosedByInterruptException
- 書き込み中に別のスレッドからの割り込みがあったためにチャネルがクローズし、現在のスレッドの割り込み状態が設定された場合
IOException
- その他の入出力エラーが発生した場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。