Partilhar via


TextReader Classe

Definição

Representa um leitor que pode ler uma série sequencial de caracteres.

public ref class TextReader abstract : IDisposable
public ref class TextReader abstract : MarshalByRefObject, IDisposable
public abstract class TextReader : IDisposable
public abstract class TextReader : MarshalByRefObject, IDisposable
[System.Serializable]
public abstract class TextReader : MarshalByRefObject, IDisposable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class TextReader : MarshalByRefObject, IDisposable
type TextReader = class
    interface IDisposable
type TextReader = class
    inherit MarshalByRefObject
    interface IDisposable
[<System.Serializable>]
type TextReader = class
    inherit MarshalByRefObject
    interface IDisposable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type TextReader = class
    inherit MarshalByRefObject
    interface IDisposable
Public MustInherit Class TextReader
Implements IDisposable
Public MustInherit Class TextReader
Inherits MarshalByRefObject
Implements IDisposable
Herança
TextReader
Herança
Derivado
Atributos
Implementações

Exemplos

A classe TextReader é uma classe abstrata. Portanto, você não instanciá-lo em seu código. A StreamReader classe deriva de TextReader e fornece implementações dos membros para leitura de um fluxo. O exemplo a seguir mostra como ler todos os caracteres em um arquivo usando o StreamReader.ReadAsync(Char[], Int32, Int32) método . Ele verifica se cada caractere é uma letra, um dígito ou um espaço em branco antes de adicionar o caractere a uma instância da StringBuilder classe.

using System;
using System.Windows;
using System.IO;
using System.Text;

namespace WpfApplication
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private async void Button_Click_1(object sender, RoutedEventArgs e)
        {
            string filename = @"C:\Example\existingfile.txt";
            char[] result;
            StringBuilder builder = new StringBuilder();

            using (StreamReader reader = File.OpenText(filename))
            {
                result = new char[reader.BaseStream.Length];
                await reader.ReadAsync(result, 0, (int)reader.BaseStream.Length);
            }

            foreach (char c in result)
            {
                if (char.IsLetterOrDigit(c) || char.IsWhiteSpace(c))
                {
                    builder.Append(c);
                }
            }
            FileOutput.Text = builder.ToString();
        }
    }
}
Imports System.Text
Imports System.IO

Class MainWindow

    Private Async Sub Button_Click_1(sender As Object, e As RoutedEventArgs)
        Dim filename As String = "C:\Example\existingfile.txt"
        Dim result() As Char
        Dim builder As StringBuilder = New StringBuilder()

        Using reader As StreamReader = File.OpenText(filename)
            ReDim result(reader.BaseStream.Length)
            Await reader.ReadAsync(result, 0, reader.BaseStream.Length)
        End Using

        For Each c As Char In result
            If (Char.IsLetterOrDigit(c) Or Char.IsWhiteSpace(c)) Then
                builder.Append(c)
            End If
            Next
        FileOutput.Text = builder.ToString()
    End Sub
End Class

Comentários

TextReader é a classe base abstrata de StreamReader e StringReader, que leem caracteres de fluxos e cadeias de caracteres, respectivamente. Use essas classes derivadas para abrir um arquivo de texto para ler um intervalo especificado de caracteres ou para criar um leitor com base em um fluxo existente.

Importante

Esse tipo implementa a interface IDisposable. Quando terminar de usar qualquer tipo derivado desse tipo, você deverá descartá-lo direta ou indiretamente. Para descartar o tipo diretamente, chame o método Dispose dele em um bloco try/catch. Para descartá-lo indiretamente, use um constructo de linguagem como using ( em C#) ou Using (em Visual Basic). Para obter mais informações, consulte Descartar e a seção "Usando um objeto que implementa IDisposable" no tópico da IDisposable interface.

Notas aos Implementadores

Uma classe derivada deve implementar minimamente os Peek() métodos e Read() para tornar uma instância útil de TextReader.

Construtores

TextReader()

Inicializa uma nova instância da classe TextReader.

Campos

Null

Fornece um TextReader sem dados a serem lidos.

Métodos

Close()

Fecha o TextReader e libera os recursos do sistema associados ao TextReader.

CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Libera todos os recursos usados pelo objeto TextReader.

Dispose(Boolean)

Libera os recursos não gerenciados usados pelo TextReader e opcionalmente libera os recursos gerenciados.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
Peek()

Lê o próximo caractere sem alterar o estado do leitor ou a origem do caractere. Retorna o próximo caractere disponível sem realmente lê-lo no leitor.

Read()

Lê o próximo caractere do leitor de texto e avança a posição do caractere em um caractere.

Read(Char[], Int32, Int32)

Lê um número máximo especificado de caracteres do leitor atual e grava os dados em um buffer, começando no índice especificado.

Read(Span<Char>)

Lê os caracteres do leitor atual e grava os dados no buffer especificado.

ReadAsync(Char[], Int32, Int32)

Lê um número máximo especificado de caracteres do leitor de texto atual de forma assíncrona e grava os dados em um buffer, começando no índice especificado.

ReadAsync(Memory<Char>, CancellationToken)

Lê de forma assíncrona os caracteres do fluxo atual para um bloco de memória.

ReadBlock(Char[], Int32, Int32)

Lê um máximo especificado de caracteres do leitor de texto atual e grava os dados em um buffer, começando no índice especificado.

ReadBlock(Span<Char>)

Lê os caracteres do fluxo atual e grava os dados em um buffer.

ReadBlockAsync(Char[], Int32, Int32)

Lê um número máximo especificado de caracteres do leitor de texto atual de forma assíncrona e grava os dados em um buffer, começando no índice especificado.

ReadBlockAsync(Memory<Char>, CancellationToken)

Lê de forma assíncrona os caracteres do fluxo atual e grava os dados em um buffer.

ReadLine()

Lê uma linha de caracteres do leitor de texto e retorna os dados como uma cadeia de caracteres.

ReadLineAsync()

Lê uma linha de caracteres assincronamente e retorna os dados como uma cadeia de caracteres.

ReadLineAsync(CancellationToken)

Lê uma linha de caracteres assincronamente e retorna os dados como uma cadeia de caracteres.

ReadToEnd()

Lê todos os caracteres da posição atual até o final do leitor de texto e os retorna como uma cadeia de caracteres.

ReadToEndAsync()

Lê todos os caracteres da posição atual até o final do leitor de texto de forma assíncrona e os retorna como uma cadeia de caracteres.

ReadToEndAsync(CancellationToken)

Lê todos os caracteres da posição atual até o final do leitor de texto de forma assíncrona e os retorna como uma cadeia de caracteres.

Synchronized(TextReader)

Cria um wrapper thread-safe em torno do TextReader especificado.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

IDisposable.Dispose()

Para obter uma descrição desse membro, confira Dispose().

Aplica-se a

Confira também