TextReader Classe

Definizione

Rappresenta un lettore in grado di leggere una serie sequenziale di caratteri.

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
Ereditarietà
TextReader
Ereditarietà
Derivato
Attributi
Implementazioni

Esempio

La TextReader classe è una classe astratta. Di conseguenza, non è necessario crearne un'istanza nel codice. La StreamReader classe deriva da TextReader e fornisce implementazioni dei membri per la lettura da un flusso. Nell'esempio seguente viene illustrato come leggere tutti i caratteri in un file usando il StreamReader.ReadAsync(Char[], Int32, Int32) metodo . Verifica se ogni carattere è una lettera, una cifra o uno spazio vuoto prima di aggiungere il carattere a un'istanza della 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

Commenti

TextReader è la classe base astratta di StreamReader e StringReader, che legge rispettivamente i caratteri dai flussi e dalle stringhe. Utilizzare queste classi derivate per aprire un file di testo per la lettura di un intervallo di caratteri specificato o per creare un lettore basato su un flusso esistente.

Importante

Questo tipo implementa l'interfaccia IDisposable . Al termine dell'uso di qualsiasi tipo che deriva da questo tipo, è necessario eliminarlo direttamente o indirettamente. Per eliminare direttamente il tipo, chiamare il Dispose relativo metodo in un try/catch blocco. Per eliminarlo indirettamente, usare un costrutto del linguaggio, ad using esempio (in C#) o Using (in Visual Basic). Per altre informazioni, vedere Dispose e la sezione "Using an Object that Implements IDisposable" nell'argomento relativo all'interfaccia IDisposable .

Note per gli implementatori

Una classe derivata deve implementare in modo minimo i Peek() metodi e Read() per rendere un'istanza utile di TextReader.

Costruttori

Nome Descrizione
TextReader()

Inizializza una nuova istanza della classe TextReader.

Campi

Nome Descrizione
Null

Fornisce un oggetto TextReader senza dati da cui leggere.

Metodi

Nome Descrizione
Close()

Chiude e rilascia tutte le TextReader risorse di sistema associate all'oggetto TextReader.

CreateObjRef(Type)

Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse utilizzate dall'oggetto TextReader .

Dispose(Boolean)

Rilascia le risorse non gestite usate da TextReader e, facoltativamente, rilascia le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()

Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia superficiale dell'oggetto corrente MarshalByRefObject .

(Ereditato da MarshalByRefObject)
Peek()

Legge il carattere successivo senza modificare lo stato del lettore o dell'origine del carattere. Restituisce il carattere disponibile successivo senza leggerlo dal lettore.

Read()

Legge il carattere successivo dal lettore di testo e sposta in avanti la posizione del carattere di un carattere.

Read(Char[], Int32, Int32)

Legge un numero massimo di caratteri specificato dal lettore corrente e scrive i dati in un buffer, a partire dall'indice specificato.

Read(Span<Char>)

Legge i caratteri dal lettore corrente e scrive i dati nel buffer specificato.

ReadAsync(Char[], Int32, Int32)

Legge un numero massimo di caratteri specificato dal lettore di testo corrente in modo asincrono e scrive i dati in un buffer, a partire dall'indice specificato.

ReadAsync(Memory<Char>, CancellationToken)

Legge in modo asincrono i caratteri dal flusso corrente in un blocco di memoria.

ReadBlock(Char[], Int32, Int32)

Legge un numero massimo specificato di caratteri dal lettore di testo corrente e scrive i dati in un buffer, a partire dall'indice specificato.

ReadBlock(Span<Char>)

Legge i caratteri dal flusso corrente e scrive i dati in un buffer.

ReadBlockAsync(Char[], Int32, Int32)

Legge un numero massimo di caratteri specificato dal lettore di testo corrente in modo asincrono e scrive i dati in un buffer, a partire dall'indice specificato.

ReadBlockAsync(Memory<Char>, CancellationToken)

Legge in modo asincrono i caratteri dal flusso corrente e scrive i dati in un buffer.

ReadLine()

Legge una riga di caratteri dal lettore di testo e restituisce i dati come stringa.

ReadLineAsync()

Legge una riga di caratteri in modo asincrono e restituisce i dati come stringa.

ReadToEnd()

Legge tutti i caratteri dalla posizione corrente alla fine del lettore di testo e li restituisce come una stringa.

ReadToEndAsync()

Legge tutti i caratteri dalla posizione corrente alla fine del lettore di testo in modo asincrono e li restituisce come una stringa.

Synchronized(TextReader)

Crea un wrapper thread-safe intorno all'oggetto specificato TextReader.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IDisposable.Dispose()

Per una descrizione di questo membro, vedere Dispose().

Si applica a

Vedi anche