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


TextReader.ReadToEnd Метод

Определение

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

public:
 virtual System::String ^ ReadToEnd();
public virtual string ReadToEnd ();
abstract member ReadToEnd : unit -> string
override this.ReadToEnd : unit -> string
Public Overridable Function ReadToEnd () As String

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

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

Исключения

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

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

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

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

Комментарии

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

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

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

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

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