Прочитать на английском

Поделиться через


TextReader.ReadToEnd Метод

Определение

Считывает все символы, начиная с текущей позиции до конца средства чтения текста, и возвращает их в виде одной строки.

public virtual string ReadToEnd ();

Возвращаемое значение

Строка, содержащая все символы, начиная с текущей позиции до конца средства чтения текста.

Исключения

Ошибка ввода-вывода.

Объект TextReader закрыт.

Не хватает памяти для выделения буфера под возвращаемую строку.

Число символов в следующей строке больше, чем Int32.MaxValue

Комментарии

Если метод создает OutOfMemoryException исключение, позиция читателя в базовом Stream объекте будет расширена на количество символов, которые метод смог прочитать, но символы, которые уже были прочитаны во внутренний ReadToEnd буфер, удаляются. Так как положение средства чтения в потоке изменить невозможно, уже прочитанные символы невозможно восстановить и получить доступ можно только путем повторной инициализации TextReader. Если начальная позиция в потоке неизвестна или поток не поддерживает поиск, базовый Stream объект также необходимо повторно инициализировать.

Чтобы избежать такой ситуации и создать надежный код, следует использовать Read метод и сохранить символы чтения в предварительно выбранном буфере.

Класс TextReader представляет собой абстрактный класс. Следовательно, в коде экземпляр этого объекта не создается. Пример использования ReadToEnd метода см. в StreamReader.ReadToEnd разделе метод .

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

См. также раздел