Windows Dev Center

The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

StringReader.ReadToEnd Method

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

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)

public override string ReadToEnd()

Return Value

Type: System.String
The content from the current position to the end of the underlying string.


There is insufficient memory to allocate a buffer for the returned string.


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.

How to: Write Text to a File

Write to a text file.

How to: Write Text to a File

Read from a text file.

How to: Read Text from a File

Append text to a file.

How to: Open and Append to a Log File



Get the size of a file.


Get the attributes of a file.


Set the attributes of a file.


Determine if a file exists.


Read from a binary file.

How to: Read and Write to a Newly Created Data File

Write to a binary file.

How to: Read and Write to a Newly Created Data File

This code example is part of a larger example provided for the TextReader class.

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

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0

Community Additions

© 2015 Microsoft