TextReader Classe

Definição

Representa um leitor que consegue 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
[System.Serializable]
public abstract class TextReader : MarshalByRefObject, IDisposable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class TextReader : MarshalByRefObject, IDisposable
public abstract class TextReader : MarshalByRefObject, IDisposable
type TextReader = class
    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
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 TextReader disciplina é uma disciplina abstrata. Portanto, não o instancias no teu código. A StreamReader classe deriva e TextReader fornece implementações dos membros para leitura a partir de um fluxo. O exemplo seguinte mostra como ler todos os caracteres de um ficheiro usando o StreamReader.ReadAsync(Char[], Int32, Int32) método. Verifica se cada carácter é uma letra, dígito ou espaço em branco antes de adicionar o carácter 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

Observações

TextReader é a classe base abstrata de StreamReader e StringReader, que leem caracteres de fluxos e cadeias, respetivamente. Use estas classes derivadas para abrir um ficheiro de texto para ler um intervalo específico de caracteres, ou para criar um leitor baseado num fluxo existente.

Important

Este tipo implementa a interface IDisposable. Quando terminar de usar qualquer tipo derivado deste tipo, deve descartá-lo, direta ou indiretamente. Para descartar o tipo diretamente, chame seu método Dispose em um bloco try/catch. Para descartá-lo indiretamente, use uma construção de linguagem como using (em C#) ou Using (em Visual Basic). Para mais informações, consulte Dispose e a secção "Usar um Objeto que Implementa IDisposável" no IDisposable tópico da interface.

Notas para Implementadores

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

Construtores

Name Description
TextReader()

Inicializa uma nova instância da TextReader classe.

Campos

Name Description
Null

Fornece um TextReader sem dados para ler.

Métodos

Name Description
Close()

Fecha o TextReader e liberta quaisquer recursos do sistema associados ao TextReader.

CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Liberta todos os recursos usados pelo TextReader objeto.

Dispose(Boolean)

Liberta os recursos não geridos usados pelo TextReader e opcionalmente liberta os recursos geridos.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
Peek()

Lê o próximo carácter sem alterar o estado do leitor ou a fonte do caractere. Devolve a próxima personagem disponível sem realmente a ler pelo leitor.

Read()

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

Read(Char[], Int32, Int32)

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

Read(Span<Char>)

Lê os caracteres do leitor atual e escreve 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 escreve os dados num buffer, começando no índice especificado.

ReadAsync(Memory<Char>, CancellationToken)

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

ReadBlock(Char[], Int32, Int32)

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

ReadBlock(Span<Char>)

Lê os caracteres do fluxo atual e escreve os dados num buffer.

ReadBlockAsync(Char[], Int32, Int32)

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

ReadBlockAsync(Memory<Char>, CancellationToken)

Lê assíncronamente os caracteres do fluxo atual e escreve os dados num buffer.

ReadLine()

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

ReadLineAsync()

Lê uma linha de caracteres de forma assíncrona e devolve os dados como uma cadeia.

ReadToEnd()

Lê todos os caracteres desde a posição atual até ao fim do leitor de texto e devolve-os como uma única cadeia.

ReadToEndAsync()

Lê todos os caracteres da posição atual até ao fim do leitor de texto de forma assíncrona e devolve-os como uma única cadeia.

Synchronized(TextReader)

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

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

Name Description
IDisposable.Dispose()

Para uma descrição deste elemento, veja Dispose().

Aplica-se a

Ver também