Condividi tramite


TextReader Classe

Definizione

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

Esempio

La classe TextReader è astratta. Di conseguenza, non verrà creata 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 . Controlla 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 i caratteri dai flussi e dalle stringhe, rispettivamente. 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

Il 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 metodo Dispose in un blocco try/catch. Per eliminarlo indirettamente, utilizzare un costrutto di linguaggio come ad esempio using in C# o Using in Visual Basic. Per altre informazioni, vedere Dispose e la sezione "Using an Object that Implements IDisposable" nell'argomento dell'interfaccia IDisposable .

Note per gli implementatori

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

Costruttori

TextReader()

Inizializza una nuova istanza della classe TextReader.

Campi

Null

Fornisce un oggetto TextReader senza dati da cui sia possibile eseguire letture.

Metodi

Close()

Chiude l'oggetto TextReader e libera tutte le risorse di sistema associate a TextReader.

CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate dall'oggetto TextReader.

Dispose(Boolean)

Rilascia le risorse non gestite usate da TextReader e, facoltativamente, 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()
Obsoleti.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

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

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
Peek()

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

Read()

Legge il carattere successivo dal lettore di testo e fa avanzare di un carattere la posizione del carattere.

Read(Char[], Int32, Int32)

Legge un numero massimo specificato di caratteri 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 specificato di caratteri 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 specificato di caratteri 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.

ReadLineAsync(CancellationToken)

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

ReadToEnd()

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

ReadToEndAsync()

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

ReadToEndAsync(CancellationToken)

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

Synchronized(TextReader)

Crea un wrapper thread-safe per l'oggetto TextReader specificato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

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

Si applica a

Vedi anche