|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
バイトを書き込むことができるチャネルです。
書き込み可能なチャネル上で、同時に複数の書き込み操作を実行することはできません。チャネル上で書き込み操作を開始したスレッドがある場合、新たな書き込み操作を開始しようとするその他のスレッドは、最初の操作が完了するまでブロックされます。書き込み操作とその他の入出力操作を同時並行で実行できるかどうかは、チャネルの種類によって決まります。
メソッドの概要 | |
int |
write(ByteBuffer src)
このチャネルのバイトシーケンスを指定のバッファから書き出します。 |
インタフェース java.nio.channels.Channel から継承したメソッド |
close, isOpen |
メソッドの詳細 |
public int write(ByteBuffer src) throws IOException
チャネルへ最大 r バイトを書き込もうとします。r は、このメソッドを呼び出すときにバッファ内に存在するバイト数、dst.remaining() になります。
長さ n (0 <= n <= r) のバイトシーケンスが書き込まれるとします。このバイトシーケンスはバッファのインデックス p から転送されます。p は、このメソッドを呼び出した時点のバッファの位置です。書き込まれる最後のバイトは p + n - 1 になります。バッファの位置は、終了時に p + n に等しくなります。リミットに変化はありません。
特に指定がないかぎり、要求された r バイトがすべて書き込まれると書き込み操作は終了します。チャネルの種類によっては、その状態に応じて、一部のバイトしか書き込まれない場合や、まったく書き込みが行われない場合もあります。たとえば非ブロックモードのソケットチャネルでは、ソケットの出力バッファ内のバイト数が最大書き込みバイト数になります。
このメソッドはいつでも呼び出せます。ただし、その他のスレッドがこのチャネルに対して書き込み操作を開始している場合、このメソッドの呼び出しは最初の操作が終わるまでブロックされます。
src
- バイトの取得先バッファ
NonWritableChannelException
- このチャネルが書き込み可能でない場合
ClosedChannelException
- このチャネルがクローズしている場合
AsynchronousCloseException
- 書き込み中に別のスレッドによってこのチャネルがクローズされた場合
ClosedByInterruptException
- 書き込み中に別のスレッドからの割り込みがあったためにチャネルがクローズし、現在のスレッドの割り込み状態が設定された場合
IOException
- その他の入出力エラーが発生した場合
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.