BufferedReader.Read(Char[], Int32, Int32) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
配列の一部に文字を読み取ります。
[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では、不必要にデータがコピーされることはありません。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。