Language

BufferedReader.Read(Char[], Int32, Int32) メソッド

定義

配列の一部に文字を読み取ります。

[Android.Runtime.Register("read", "([CII)I", "GetRead_arrayCIIHandler")]
public override int Read(char[]? cbuf, int off, int len);
[<Android.Runtime.Register("read", "([CII)I", "GetRead_arrayCIIHandler")>]
override this.Read : char[] * int * int -> int

パラメーター

cbuf
Char[]

宛先バッファー

off
Int32

文字の格納を開始する位置のオフセット

len
Int32

読み取る最大文字数

返品

読み取られた文字数。ストリームの末尾に達した場合に -1。

属性

例外

offset buffer.length場合。

このリーダーが閉じている場合、または他の I/O エラーが発生した場合。

注釈

配列の一部に文字を読み取ります。

このメソッドは、{@link Reader} クラスの対応する{@link Reader#read(char[], int, int) read} メソッドの一般的なコントラクトを実装します。 さらに便利なことに、基になるストリームの read メソッドを繰り返し呼び出すことで、できるだけ多くの文字を読み取ろうとします。 この反復処理された read は、次のいずれかの条件が満たされるまで続行されます: <ul>

<li> 指定した文字数が読み取られた

<li> 基になるストリームの read メソッドは、ファイルの終わりを示す -1を返します。

<li> 基になるストリームの ready メソッドは、 falseを返し、それ以上の入力要求がブロックされることを示します。

</ul> 基になるストリームの最初の read がファイルの終わりを示す -1 を返した場合、このメソッドは -1を返します。 それ以外の場合、このメソッドは実際に読み取られた文字数を返します。

このクラスのサブクラスは、同じ方法でできるだけ多くの文字を読み取るように推奨されますが、必須ではありません。

通常、このメソッドは、このストリームの文字バッファーから文字を受け取り、必要に応じて基になるストリームから文字を入力します。 ただし、バッファーが空で、マークが無効で、要求された長さがバッファーと同じ以上の長さである場合、このメソッドは基になるストリームから指定された配列に文字を直接読み取ります。 したがって、冗長な BufferedReaderでは、不必要にデータがコピーされることはありません。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象