public final class Channels extends Object
このクラスは、java.io
パッケージのストリーム・クラスとこのパッケージのチャネル・クラスの相互運用をサポートする静的メソッドを定義します。
- 導入されたバージョン:
- 1.4
-
メソッドのサマリー
修飾子と型 メソッド 説明 static ReadableByteChannel
newChannel(InputStream in)
指定されたストリームからバイトを読み取るチャネルを構築します。static WritableByteChannel
newChannel(OutputStream out)
指定されたストリームへバイトを書き込むチャネルを構築します。static InputStream
newInputStream(AsynchronousByteChannel ch)
指定されたチャネルからバイトを読み取るストリームを構築します。static InputStream
newInputStream(ReadableByteChannel ch)
指定されたチャネルからバイトを読み取るストリームを構築します。static OutputStream
newOutputStream(AsynchronousByteChannel ch)
指定されたチャネルへバイトを書き込むストリームを構築します。static OutputStream
newOutputStream(WritableByteChannel ch)
指定されたチャネルへバイトを書き込むストリームを構築します。static Reader
newReader(ReadableByteChannel ch, String csName)
指定文字セットに従って指定されたチャネルからバイトをデコードするリーダーを構築します。static Reader
newReader(ReadableByteChannel ch, Charset charset)
指定されたcharsetに従って、指定されたチャネルのバイトをデコードするリーダーを構築します。static Reader
newReader(ReadableByteChannel ch, CharsetDecoder dec, int minBufferCap)
指定されたデコーダを使って指定されたチャネルからバイトをデコードするリーダーを構築します。static Writer
newWriter(WritableByteChannel ch, String csName)
指定文字セットに従って文字をエンコードし、結果として得られるバイトを指定されたチャネルに書き込むライターを構築します。static Writer
newWriter(WritableByteChannel ch, Charset charset)
指定された文字セットに従って文字を符号化し、結果のバイトを指定されたチャネルに書き込むライターを構築します。static Writer
newWriter(WritableByteChannel ch, CharsetEncoder enc, int minBufferCap)
指定されたエンコーダを使って文字をエンコードし、結果として得られるバイトを指定されたチャネルに書き込むライターを構築します。
-
メソッドの詳細
-
newInputStream
public static InputStream newInputStream(ReadableByteChannel ch)指定されたチャネルからバイトを読み取るストリームを構築します。結果として得られるストリームの
read
メソッドは、基本となるチャネルが非ブロック・モードである場合に呼び出されると、IllegalBlockingModeException
をスローします。 ストリームはバッファされず、mark
メソッドもreset
メソッドもサポートしません。 ストリームは複数の並行スレッドからのアクセスに対して安全です。 ストリームをクローズするとチャネルもクローズします。- パラメータ:
ch
- バイトが読み取られるチャネル- 戻り値:
- 新しい入力ストリーム
-
newOutputStream
public static OutputStream newOutputStream(WritableByteChannel ch)指定されたチャネルへバイトを書き込むストリームを構築します。結果として得られるストリームの
write
メソッドは、基本となるチャネルが非ブロック・モードである場合に呼び出されると、IllegalBlockingModeException
をスローします。 ストリームはバッファに書き込まれません。 ストリームは複数の並行スレッドからのアクセスに対して安全です。 ストリームをクローズするとチャネルもクローズします。- パラメータ:
ch
- バイトが書き込まれるチャネル- 戻り値:
- 新しい出力ストリーム
-
newInputStream
public static InputStream newInputStream(AsynchronousByteChannel ch)指定されたチャネルからバイトを読み取るストリームを構築します。ストリームはバッファされず、
mark
メソッドもreset
メソッドもサポートしません。 ストリームは複数の並行スレッドからのアクセスに対して安全です。 ストリームをクローズするとチャネルもクローズします。- パラメータ:
ch
- バイトが読み取られるチャネル- 戻り値:
- 新しい入力ストリーム
- 導入されたバージョン:
- 1.7
-
newOutputStream
public static OutputStream newOutputStream(AsynchronousByteChannel ch)指定されたチャネルへバイトを書き込むストリームを構築します。ストリームはバッファに書き込まれません。 ストリームは複数の並行スレッドからのアクセスに対して安全です。 ストリームをクローズするとチャネルもクローズします。
- パラメータ:
ch
- バイトが書き込まれるチャネル- 戻り値:
- 新しい出力ストリーム
- 導入されたバージョン:
- 1.7
-
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))
- パラメータ:
ch
- バイトが読み取られるチャネルcsName
- 使用する文字セットの名前- 戻り値:
- 新しいリーダー
- 例外:
UnsupportedCharsetException
- 指定された文字セットが現在のJava仮想マシンでは利用できない場合
-
newReader
public static Reader newReader(ReadableByteChannel ch, Charset charset)指定されたcharsetに従って、指定されたチャネルのバイトをデコードするリーダーを構築します。次のフォームのメソッド呼出しは、
Channels.newReader(ch, charset)
Channels.newReader(ch, Charset.forName(csName).newDecoder(), -1)
読者の誤った入力文字やマップできない文字のエラーのデフォルトの動作は、それらをreportすることです。 エラー処理をより詳細に制御する必要がある場合は、CharsetDecoderを使用するコンストラクタを使用する必要があります。
- パラメータ:
ch
- バイトが読み取られるチャネルcharset
- 使用される文字セット- 戻り値:
- 新しいリーダー
-
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))
- パラメータ:
ch
- バイトが書き込まれるチャネルcsName
- 使用する文字セットの名前- 戻り値:
- 新しいライター
- 例外:
UnsupportedCharsetException
- 指定された文字セットが現在のJava仮想マシンでは利用できない場合
-
newWriter
public static Writer newWriter(WritableByteChannel ch, Charset charset)指定された文字セットに従って文字を符号化し、結果のバイトを指定されたチャネルに書き込むライターを構築します。次のフォームのメソッド呼出しは、
Channels.newWriter(ch, charset)
Channels.newWriter(ch, Charset.forName(csName).newEncoder(), -1)
誤った入力エラーやマップできない文字エラーに対するライターのデフォルトのアクションは、それらをreportすることです。 エラー処理をより詳細に制御する必要がある場合は、CharsetEncoderを使用するコンストラクタを使用する必要があります。
- パラメータ:
ch
- バイトが書き込まれるチャネルcharset
- 使用される文字セット- 戻り値:
- 新しいライター
-