TextReader.ReadToEnd 方法

定义

读取从当前位置到文本读取器末尾的所有字符并将它们作为一个字符串返回。

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 错误。

没有足够的内存来为返回的字符串分配缓冲区。

下一行中的字符数大于 Int32.MaxValue

注解

如果方法引发 OutOfMemoryException 异常,则读取器在基础 Stream 中的位置会根据方法能够读取的字符数提前,但已读入内部 ReadToEnd 缓冲区的字符将被丢弃。 由于无法更改读取器在流中的位置,因此已读取的字符不可恢复,并且只能通过重新初始化 TextReader来访问。 如果流中的初始位置未知或流不支持查找,则还需要重新初始化基础 Stream

为了避免这种情况并生成可靠的代码, Read 应使用 方法并将读取字符存储在预先分配的缓冲区中。

类是一个抽象类。 因此,不要在代码中实例化它。 有关使用 ReadToEnd 方法的示例,请参阅 StreamReader.ReadToEnd 方法。

适用于

另请参阅