JavaTM Platform
Standard Ed. 6

java.nio.channels
クラス Channels

java.lang.Object
  上位を拡張 java.nio.channels.Channels

public final class Channels
extends Object

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

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

導入されたバージョン:
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)
指定されたストリームへバイトを書き込むチャネルを構築します。

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

パラメータ:
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 Platform
Standard Ed. 6

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

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。