Compartir a través de


TextReader Clase

Definición

Representa un lector que puede leer una serie secuencial 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
Herencia
TextReader
Herencia
Derivado
Atributos
Implementaciones

Ejemplos

La clase TextReader es una clase abstracta. Por lo tanto, no se crea una instancia en el código. La StreamReader clase deriva de TextReader y proporciona implementaciones de los miembros para leer desde una secuencia. En el ejemplo siguiente se muestra cómo leer todos los caracteres de un archivo mediante el StreamReader.ReadAsync(Char[], Int32, Int32) método . Comprueba si cada carácter es una letra, un dígito o un espacio en blanco antes de agregar el carácter a una instancia de la StringBuilder clase .

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

Comentarios

TextReader es la clase base abstracta de StreamReader y StringReader, que lee caracteres de secuencias y cadenas, respectivamente. Use estas clases derivadas para abrir un archivo de texto para leer un intervalo de caracteres especificado o para crear un lector basado en una secuencia existente.

Importante

Este tipo implementa la interfaz IDisposable. Cuando haya terminado de usar cualquier tipo que derive de este tipo, debe eliminarlo directa o indirectamente. Para eliminar el tipo directamente, llame a su método Dispose en un bloque try/catch. Para deshacerse de él indirectamente, use una construcción de lenguaje como using (en C#) o Using (en Visual Basic). Para obtener más información, vea Dispose y la sección "Using an Object that Implements IDisposable" (Usar un objeto que implementa IDisposable) en el tema de la IDisposable interfaz.

Notas a los implementadores

Una clase derivada debe implementar mínimamente los Peek() métodos y Read() para hacer una instancia útil de TextReader.

Constructores

TextReader()

Inicializa una nueva instancia de la clase TextReader.

Campos

Null

Proporciona un TextReader sin datos del que leer.

Métodos

Close()

Cierra el TextReader y libera todos los recursos del sistema asociados a TextReader.

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos utilizados por el objeto TextReader.

Dispose(Boolean)

Libera los recursos no administrados que usa TextReader y, de forma opcional, libera los recursos administrados.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
Peek()

Lee el siguiente carácter sin modificar el estado del sistema de lectura o el origen del carácter. Devuelve el siguiente carácter disponible sin leerlo realmente del lector.

Read()

Lee el siguiente carácter en el lector de texto y hace avanzar la posición de los caracteres en un carácter.

Read(Char[], Int32, Int32)

Lee un número máximo de caracteres especificado en el lector actual y escribe los datos en un búfer, comenzando en el índice especificado.

Read(Span<Char>)

Lee los caracteres del lector actual y escribe los datos en el búfer especificado.

ReadAsync(Char[], Int32, Int32)

Lee un número máximo de caracteres especificado en el lector de texto actual de forma asincrónica y escribe los datos en un búfer, comenzando en el índice especificado.

ReadAsync(Memory<Char>, CancellationToken)

Lee de forma asincrónica los caracteres de la secuencia actual en un bloque de memoria.

ReadBlock(Char[], Int32, Int32)

Lee un número máximo de caracteres especificado en el lector de texto actual y escribe los datos en un búfer, comenzando en el índice especificado.

ReadBlock(Span<Char>)

Lee los caracteres de la secuencia actual y escribe los datos en un búfer.

ReadBlockAsync(Char[], Int32, Int32)

Lee un número máximo de caracteres especificado en el lector de texto actual de forma asincrónica y escribe los datos en un búfer, comenzando en el índice especificado.

ReadBlockAsync(Memory<Char>, CancellationToken)

Lee de forma asincrónica los caracteres de la secuencia actual y escribe los datos en un búfer.

ReadLine()

Lee una línea de caracteres del lector de texto y devuelve los datos como una cadena.

ReadLineAsync()

Lee de forma asincrónica una línea de caracteres y devuelve los datos como una cadena.

ReadLineAsync(CancellationToken)

Lee de forma asincrónica una línea de caracteres y devuelve los datos como una cadena.

ReadToEnd()

Lee todos los caracteres desde la posición actual hasta el final del lector de texto y los devuelve como una cadena.

ReadToEndAsync()

Lee de forma asincrónica todos los caracteres desde la posición actual hasta el final del lector de texto y los devuelve como una cadena.

ReadToEndAsync(CancellationToken)

Lee de forma asincrónica todos los caracteres desde la posición actual hasta el final del lector de texto y los devuelve como una cadena.

Synchronized(TextReader)

Crea un contenedor seguro para subprocesos en torno al TextReader especificado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Para obtener una descripción de este miembro, vea Dispose().

Se aplica a

Consulte también