This documentation is archived and is not being maintained.

TextReader.ReadToEnd Method

Reads all characters from the current position to the end of the TextReader and returns them as one string.

[Visual Basic]
Public Overridable Function ReadToEnd() As String
public virtual string ReadToEnd();
public: virtual String* ReadToEnd();
public function ReadToEnd() : String;

Return Value

A string containing all characters from the current position to the end of the TextReader.


Exception Type Condition
IOException An I/O error occurs.
ObjectDisposedException The TextReader is closed.
OutOfMemoryException There is insufficient memory to allocate a buffer for the returned string.
ArgumentOutOfRangeException The number of characters in the next line is larger than MaxValue


If the current method throws an OutOfMemoryException, the reader's position in the underlying Stream is advanced by the number of characters the method was able to read, but the characters already read into the internal ReadToEnd buffer are discarded. Since the position of the reader in the stream cannot be changed, the characters already read are unrecoverable, and can be accessed only by reinitializing the TextReader. If the initial position within the stream is unknown or the stream does not support seeking, the underlying Stream also needs to be reinitialized.

To avoid such a situation and produce robust code you should use the Read method and store the read characters in a preallocated buffer.

The following table lists examples of other typical or related I/O tasks.

To do this... See the example in this topic...
Create a text file. Writing Text to a File
Write to a text file. Writing Text to a File
Read from a text file. Reading Text from a File
Append text to a file. Opening and Appending to a Log File



Get the size of a file. FileInfo.Length
Get the attributes of a file. File.GetAttributes
Set the attributes of a file. File.SetAttributes
Determine if a file exists. File.Exists
Read from a binary file. Reading and Writing to a Newly Created Data File
Write to a binary file. Reading and Writing to a Newly Created Data File


[Visual Basic, C#, C++] This code example is part of a larger example provided for the TextReader class.

[Visual Basic] 
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());

static void ReadText(TextReader* textReader)
    Console::WriteLine(S"From {0} - {1}", 
        textReader->GetType()->Name, textReader->ReadToEnd());

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

TextReader Class | TextReader Members | System.IO Namespace | Working with I/O | Reading Text from a File | Writing Text to a File