NIOとNIO.2の例

次に挙げる例は、NIO APIの使用法を示しています。
ソース・ファイル 説明
Grep.java ファイル・リストから、指定された正規表現パターンにマッチする行を検索する。NIOマップ・バイト・バッファ、文字セット、および正規表現を例示する。
Sum.java ファイル・リストの16ビットのチェックサムを計算する。高速化のため、NIOマップ・バイト・バッファを使用する。
TimeQuery.java ホストのリストに時間を照会する。NIOソケット・チャネル(接続と読み取り)、バッファの取り扱い、文字セット、および正規表現を例示する、簡単なブロック・プログラム。
TimeServer.java 接続を待機し、呼出し側に時間を返す。NIOソケット・チャネル(受け入れと書き込み)、バッファの取り扱い、文字セット、および正規表現を例示する、簡単なブロック・プログラム。
Ping.java ホストの各リストに接続して、接続を完了するのに要する時間を計測する。セレクタと2つの付加的なスレッドを使用して、非ブロック接続と、セレクタのマルチスレッド化した使用を例示する。
NBTimeServer.java 非ブロックのインターネット時間サーバーを実装する。

次の表に示すNIO.2の例は、JDK 7インストールの<JAVA_HOME>/sample/nioからアクセスできます。

ソース・ファイル 説明
file/Chmod.java chmod(1)ユーティリティと同様の方法でファイルのアクセス権を変更します。
file/Copy.java cp(1)ユーティリティと同様の方法でファイルをコピーします。
file/DiskUsage.java df(1M)と同様の方法でディスク領域の情報を出力します。
file/FileType.java ファイルのタイプを出力します。
file/WatchDir.java ディレクトリ(またはツリー)内のファイルの変更を監視します。
file/Xdd.java ファイルのユーザー定義属性を一覧表示、取得、および削除します。
multicast/MulticastAdress.java マルチキャスト・アドレスを解析および表現します。
multicast/Reader.java マルチキャスト・データグラムからメッセージを読み取ります。
multicast/Sender.java 特定のグループにマルチキャスト・データグラムでメッセージを送信します。
server/README.txt このディレクトリには、簡単なNIOベースのHTTP/HTTPSサーバーの例が含まれています。詳細は、README.txtファイルを参照してください。

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.