TextReader Classe
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.
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 |
Métodos
| Name | Description |
|---|---|
| Close() |
Fecha o TextReader e liberta quaisquer recursos do sistema associados ao |
| 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 |
| 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(). |