TextReader.ReadToEnd Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Lê todos os caracteres desde a posição atual até ao fim do leitor de texto e devolve-os como uma única cadeia.
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
Devoluções
Uma cadeia que contém todos os caracteres desde a posição atual até ao final do leitor de texto.
Exceções
Ocorre um erro de E/S.
Está TextReader fechado.
Não há memória suficiente para alocar um buffer para a cadeia devolvida.
O número de caracteres na linha seguinte é maior do que o Int32.MaxValue
Observações
Se o método lançar uma OutOfMemoryException exceção, a posição do leitor no subjacente Stream é avançada pelo número de caracteres que o método conseguiu ler, mas os caracteres que já foram lidos no buffer interno ReadToEnd são descartados. Como a posição do leitor no fluxo não pode ser alterada, os caracteres que já foram lidos são irrecuperáveis e só podem ser acedidos reinicializando o TextReader. Se a posição inicial dentro do fluxo for desconhecida ou este não suportar a procura, o subjacente Stream também precisa de ser reinicializado.
Para evitar tal situação e produzir código robusto, deve usar o Read método e armazenar os caracteres de leitura num buffer pré-alocado.
A TextReader disciplina é uma disciplina abstrata. Portanto, não o instancias no teu código. Para um exemplo de utilização do ReadToEnd método, veja o StreamReader.ReadToEnd método.