TextReader.ReadToEnd 方法

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

**命名空间:**System.IO
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public Overridable Function ReadToEnd As String
用法
Dim instance As TextReader
Dim returnValue As String

returnValue = instance.ReadToEnd
public virtual string ReadToEnd ()
public:
virtual String^ ReadToEnd ()
public String ReadToEnd ()
public function ReadToEnd () : String

返回值

包含从当前位置到 TextReader 的结尾的所有字符的字符串。

异常

异常类型 条件

IOException

发生 I/O 错误。

ObjectDisposedException

TextReader 是关闭的。

OutOfMemoryException

内存不足,无法为返回的字符串分配缓冲区。

ArgumentOutOfRangeException

下一行中的字符数大于 MaxValue

备注

如果当前方法引发 OutOfMemoryException,则读取器在基础 Stream 中的位置会向前推进该方法能够读取的字符数,而已经读入内部 ReadToEnd 缓冲区中的字符将被放弃。因为无法更改读取器在流中的位置,所以已经读取的字符是无法恢复的,只能通过重新初始化 TextReader 访问它们。如果流内的初始位置未知,或者流不支持查找,则也需要重新初始化基础 Stream

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

示例

此代码示例摘自一个为 TextReader 类提供的更大的示例。

Shared Sub ReadText(aTextReader As TextReader)
    Console.WriteLine("From {0} - {1}", _
        aTextReader.GetType().Name, aTextReader.ReadToEnd())
End Sub
static void ReadText(TextReader textReader)
{
    Console.WriteLine("From {0} - {1}", 
        textReader.GetType().Name, textReader.ReadToEnd());
}
void ReadText( TextReader^ textReader )
{
   Console::WriteLine( "From {0} - {1}", textReader->GetType()->Name, textReader->ReadToEnd() );
}

static void ReadText(TextReader textReader) 
{
    Console.WriteLine("From {0} - {1}", 
        textReader.GetType().get_Name(),textReader.ReadToEnd());
} //ReadText

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

TextReader 类
TextReader 成员
System.IO 命名空间

其他资源

文件和流 I/O
如何:从文件读取文本
如何:向文件写入文本