JavaTM 2
Platform
Std. Ed. v1.4.0

java.nio.channels
クラス Channels

java.lang.Object
  |
  +--java.nio.channels.Channels

public final class Channels
extends Object

チャネルとストリームのためのユーティリティメソッドです。

このクラスは、java.io パッケージのストリームクラスとこのパッケージのチャネルクラスの連携をサポートする静的メソッドを定義します。

導入されたバージョン:
1.4

メソッドの概要
static ReadableByteChannel newChannel(InputStream in)
          指定されたストリームからバイトを読み取るチャネルを構築します。
static WritableByteChannel newChannel(OutputStream out)
          指定されたストリームへバイトを書き込むチャネルを構築します。
static InputStream newInputStream(ReadableByteChannel ch)
          指定されたチャネルからバイトを読み取るストリームを構築します。
static OutputStream newOutputStream(WritableByteChannel ch)
          指定されたチャネルへバイトを書き込むストリームを構築します。
static Reader newReader(ReadableByteChannel ch, CharsetDecoder dec, int minBufferCap)
          指定されたデコーダを使って指定されたチャネルバイトをデコードするリーダを構築します。
static Reader newReader(ReadableByteChannel ch, String csName)
          指定文字セットに従って指定されたチャネルからバイトをデコードするリーダを構築します。
static Writer newWriter(WritableByteChannel ch, CharsetEncoder enc, int minBufferCap)
          指定されたエンコーダを使って文字をエンコードし、結果として得られたバイトを指定されたチャネルに書き込むライターを構築します。
static Writer newWriter(WritableByteChannel ch, String csName)
          指定文字セットに従って文字をエンコードし、結果として得られたバイトを指定されたチャネルに書き込むライターを構築します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

newInputStream

public static InputStream newInputStream(ReadableByteChannel ch)
指定されたチャネルからバイトを読み取るストリームを構築します。

結果として得られるストリームの read メソッドは、基本となるチャネルが非ブロックモードである場合に呼び出されると、IllegalBlockingModeException をスローします。ストリームはバッファされず、mark メソッドや reset メソッドをサポートしません。ストリームは複数の並行スレッドからのアクセスに対して安全です。ストリームをクローズすると、チャネルもクローズします。

パラメータ:
ch - バイトが読み込まれるチャネル
戻り値:
新しい入力ストリーム

newOutputStream

public static OutputStream newOutputStream(WritableByteChannel ch)
指定されたチャネルへバイトを書き込むストリームを構築します。

結果として得られるストリームの write メソッドは、基本となるチャネルが非ブロックモードである場合に呼び出されると、IllegalBlockingModeException をスローします。ストリームはバッファされず、複数の並行スレッドからのアクセスに対して安全です。ストリームをクローズすると、チャネルもクローズします。

パラメータ:
ch - バイトが書き込まれるチャネル
戻り値:
新しい出力ストリーム

newChannel

public static ReadableByteChannel newChannel(InputStream in)
指定されたストリームからバイトを読み取るチャネルを構築します。

結果として得られるチャネルはバッファされず、指定されたストリームに入出力操作をリダイレクトします。チャネルをクローズするとストリームもクローズします。

パラメータ:
in - バイトの読み込み先ストリーム
戻り値:
新しい読み込み可能なバイトチャネル

newChannel

public static WritableByteChannel newChannel(OutputStream out)
指定されたストリームへバイトを書き込むチャネルを構築します。

結果として得られるチャネルはバッファされず、指定されたストリームに入出力操作をリダイレクトします。チャネルをクローズするとストリームもクローズします。

戻り値:
新しい書き込み可能なバイトチャネル

newReader

public static Reader newReader(ReadableByteChannel ch,
                               CharsetDecoder dec,
                               int minBufferCap)
指定されたデコーダを使って指定されたチャネルバイトをデコードするリーダを構築します。

結果として得られるストリームには、minBufferCap バイト以上の内部入力バッファが含まれています。ストリームの read メソッドは、必要に応じて基本となるチャネルからバイトを読み込み、バッファに入れます。バイトの読み込み時にチャネルが非ブロックモードになっていると、IllegalBlockingModeException がスローされます。それ以外の場合、結果として得られるストリームはバッファされず、mark メソッドや reset メソッドをサポートしません。ストリームをクローズするとチャネルもクローズします。

パラメータ:
ch - バイトが読み込まれるチャネル
dec - 使用する文字セットデコーダ
minBufferCap - 内部 byte バッファの最小容量か、実装に依存するデフォルトの容量を使用する場合は -1
戻り値:
新しいリーダ

newReader

public static Reader newReader(ReadableByteChannel ch,
                               String csName)
指定文字セットに従って指定されたチャネルからバイトをデコードするリーダを構築します。

この形式のメソッドの呼び出しは、

 Channels.newReader(ch, csname)
以下の式とまったく同じように動作します。
 Channels.newReader(ch,
                    Charset.forName(csName)
                        .newDecoder(),
                    -1);

パラメータ:
ch - バイトが読み込まれるチャネル
csName - 使用する文字セットの名前
戻り値:
新しいリーダ
例外:
UnsupportedCharsetException - 指定文字セットが現在の Java 仮想マシンでは利用できない場合

newWriter

public static Writer newWriter(WritableByteChannel ch,
                               CharsetEncoder enc,
                               int minBufferCap)
指定されたエンコーダを使って文字をエンコードし、結果として得られたバイトを指定されたチャネルに書き込むライターを構築します。

結果として得られるストリームには、minBufferCap バイト以上の内部出力バッファが含まれています。ストリームの write メソッドは、必要に応じて基本となるチャネルにバイトを書き込み、バッファをフラッシュします。バイトの書き込み時にチャネルが非ブロックモードになっていると、IllegalBlockingModeException がスローされます。それ以外の場合、結果として得られるストリームはバッファされません。ストリームをクローズするとチャネルもクローズします。

パラメータ:
ch - バイトが書き込まれるチャネル
enc - 使用する文字セットエンコーダ
minBufferCap - 内部 byte バッファの最小容量か、実装に依存するデフォルトの容量を使用する場合は -1
戻り値:
新しいライター

newWriter

public static Writer newWriter(WritableByteChannel ch,
                               String csName)
指定文字セットに従って文字をエンコードし、結果として得られたバイトを指定されたチャネルに書き込むライターを構築します。

この形式のメソッドの呼び出しは

 Channels.newWriter(ch, csname)
以下の式とまったく同じように動作します。
 Channels.newWriter(ch,
                    Charset.forName(csName)
                        .newEncoder(),
                    -1);

パラメータ:
ch - バイトが書き込まれるチャネル
csName - 使用する文字セットの名前
戻り値:
新しいライター
例外:
UnsupportedCharsetException - 指定文字セットが現在の Java 仮想マシンでは利用できない場合

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

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.