TextReader.ReadToEnd メソッド

定義

テキスト リーダーの現在位置から末尾まですべての文字を読み取り、1 つの文字列として返します。

public:
 virtual System::String ^ ReadToEnd();
public virtual string ReadToEnd ();
abstract member ReadToEnd : unit -> string
override this.ReadToEnd : unit -> string
Public Overridable Function ReadToEnd () As String

戻り値

テキスト リーダーの現在位置から末尾までのすべての文字を含む文字列。

例外

I/O エラーが発生します。

TextReader が閉じています。

返却された文字列にバッファーを割り当てるには、メモリが不足しています。

次の行の文字数が Int32.MaxValue より大きい

注釈

メソッドが例外を OutOfMemoryException スローした場合、基になる Stream 内のリーダーの位置は、メソッドが読み取ることができた文字数だけ進みますが、内部 ReadToEnd バッファーに既に読み込まれた文字は破棄されます。 ストリーム内のリーダーの位置を変更できないため、既に読み取られた文字は回復不能であり、 TextReaderを再初期化することによってのみアクセスできます。 ストリーム内の初期位置が不明な場合、またはストリームがシークをサポートしていない場合は、基になる Stream も再初期化する必要があります。

このような状況を回避し、堅牢なコードを生成するには、 メソッドを Read 使用し、事前に割り当てられたバッファーに読み取り文字を格納する必要があります。

TextReader クラスは抽象クラスです。 そのため、コードでそれをインスタンス化することはありません。 メソッドの使用 ReadToEnd 例については、 メソッドを StreamReader.ReadToEnd 参照してください。

適用対象

こちらもご覧ください