This documentation is archived and is not being maintained.

StringReader.ReadToEnd Method

Reads the stream as a string, either in its entirety or from the current position to the end of the stream.

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

Return Value

The content from the current position to the end of the underlying string.


Exception Type Condition
OutOfMemoryException There is insufficient memory to allocate a buffer for the returned string.
ObjectDisposedException The current reader is closed.


This method overrides the TextReader.ReadToEnd method.

If the current method throws an OutOfMemoryException, the reader's position in the underlying string is advanced by the number of characters the method was able to read, and the characters already read into the internal ReadToEnd buffer are discarded. Since the position of the reader in the string cannot be changed, the characters already read are unrecoverable, and can be accessed only by reinitializing the StringReader. 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

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