TextReader.ReadToEnd Method ()


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

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

public virtual string ReadToEnd()

Return Value

Type: System.String

A string that contains all characters from the current position to the end of the text reader.

Exception Condition

An I/O error occurs.


The TextReader is closed.


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


The number of characters in the next line is larger than MaxValue

If the method throws an OutOfMemoryException exception, the reader's position in the underlying Stream is advanced by the number of characters the method was able to read, but the characters that were already read into the internal ReadToEnd buffer are discarded. Because the position of the reader in the stream cannot be changed, the characters that were 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 TextReader class is an abstract class. Therefore, you do not instantiate it in your code. For an example of using the ReadToEnd method, see the StreamReader.ReadToEnd method.

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft