TextReader.ReadToEnd Method
Assembly: mscorlib (in mscorlib.dll)
| Exception type | 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 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.
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()); }
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
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.