NIO API:
|
New I/O API |
このドキュメントでは、J2SE v 1.4 の RC リリースの NIO API が、Beta 3 リリースと比べてどのように変更されたかについて説明します。 次の分野ごとに変更点の概略を示します。バッファ
型指定バッファクラス (
ByteBuffer
、CharBuffer
など) が、Comparable
インタフェースを実装するように改訂された。 これらのクラスには、必要なcompareTo
メソッドが定義されている非ダイレクトヒープバッファの基になる配列にアクセスできないように型指定バッファクラスが改訂された。 そのようなバッファの
hasArray
メソッドを呼び出すと常に false が返される。 そのようなバッファのarray
メソッドまたはarrayOffset
メソッドを呼び出すと、ReadOnlyBufferException
がスローされるチャネル (一般)
Channel
インタフェースが改訂され、非同期クローズと割り込みの機能が新しいインタフェースInterruptibleChannel
に移された。SPI クラス AbstractChannel の名前がAbstractInterruptibleChannel
に変更され、このクラスは、InterruptibleChannel
を実装するように改訂された。 これらの変更の結果として、すべての public チャネルクラスが新しいインタフェースを実装するようになった。また、Channels.newChannel
などのメソッドは、読み取りおよび書き込み可能なチャネルを返すことができるが、それらのチャネルが割り込み可能とは限らない
Pipe.SourceChannel
クラスが、ScatteringByteChannel
インタフェースを実装するように改訂され、Pipe.SinkChannel
クラスが、GatheringByteChannel
インタフェースを実装するように改訂された
GatheringByteChannel
インタフェースのread
メソッドとScatteringByteChannel
インタフェースのwrite
メソッドが、int
型ではなくlong
型のバイトカウントを返すように改訂された。 これに対応して、DatagramChannel
、FileChannel
、およびSocketChannel
クラスも変更されたファイルチャネル
transferTo
メソッドとtransferFrom
メソッドが、int 型ではなく long 型のcount
パラメータを取り、int 型ではなく long 型のバイトカウントを返すように改訂された。そのため、これらのメソッドを使用して大きなファイルを転送できるようになった。 一貫性を維持するために、map
メソッドの size パラメータが、int 型から long 型に改訂されたその他
ここで説明する変更点は、1.4 RC リリースで加えられましたが、1.4 FCS リリースまでこのドキュメントに記載されなかったものです。 詳細については、「JSR-51 Change Log」を参照してください。
- CharsetProvider コンストラクタにセキュリティチェックが追加された。 新しい実行時セキュリティアクセス権 charsetProvider が定義され、セキュリティマネージャがアクセス権を拒否した場合に
SecurityException
をスローするようにCharsetProvider コンストラクタが改訂された
- 安全性に欠ける CharsetProvider の putCharsets メソッドが、
charsets
という名前の新しいメソッドに置き換えられた。 この新しいメソッドは、プロバイダによってサポートされている文字セット用の反復子を作成する
- SelectorProvider コンストラクタにセキュリティチェックが追加された
- SelectorProvider の setProvider メソッドが削除された。 信頼されたコードは、コマンド行でシステムプロパティを設定するかまたはプロバイダをサービスとして使用できるようにすることによって、引き続きシステム全体のデフォルトとして独自のセレクタプロバイダを宣言できる。 provider メソッドの仕様では、ルックアップアルゴリズムについて詳細に説明している
- CodingErrorAction 内に定義された
public static
フィールドは、final
になる
Copyright © 2002 Sun Microsystems, Inc. All Rights Reserved. コメントの送付先: java-io@java.sun.com |
Java ソフトウェア |