TextReader Classe

Definizione

Rappresenta un visualizzatore in grado di leggere una serie sequenziale di caratteri.Represents a reader that can read a sequential series of characters.

public ref class TextReader abstract : MarshalByRefObject, IDisposable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class TextReader : MarshalByRefObject, IDisposable
type TextReader = class
    inherit MarshalByRefObject
    interface IDisposable
Public MustInherit Class TextReader
Inherits MarshalByRefObject
Implements IDisposable
Ereditarietà
Derivato
Attributi
Implementazioni

Esempi

La classe TextReader è una classe astratta.The TextReader class is an abstract class. Di conseguenza, non verrà creata un'istanza nel codice.Therefore, you do not instantiate it in your code. La StreamReader classe deriva da TextReader e fornisce le implementazioni dei membri per la lettura da un flusso.The StreamReader class derives from TextReader and provides implementations of the members for reading from a stream. Nell'esempio seguente viene illustrato come leggere tutti i caratteri di un file tramite il StreamReader.ReadAsync(Char[], Int32, Int32) metodo.The following example shows how to read all the characters in a file by using the StreamReader.ReadAsync(Char[], Int32, Int32) method. Verifica se ogni carattere è una lettera, una cifra o uno spazio vuoto prima di aggiungere il carattere a un'istanza della StringBuilder classe.It checks whether each character is a letter, digit, or white space before adding the character to an instance of the StringBuilder class.

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 di base astratta StreamReader di StringReadere, che leggono rispettivamente i caratteri dei flussi e delle stringhe.TextReader is the abstract base class of StreamReader and StringReader, which read characters from streams and strings, respectively. Utilizzare queste classi derivate per aprire un file di testo per la lettura di un intervallo di caratteri specificato oppure per creare un reader basato su un flusso esistente.Use these derived classes to open a text file for reading a specified range of characters, or to create a reader based on an existing stream.

Importante

Il tipo implementa l'interfaccia IDisposable.This type implements the IDisposable interface. Al termine dell'utilizzo di qualsiasi tipo derivato da questo tipo, è necessario eliminarlo direttamente o indirettamente.When you have finished using any type that derives from this type, you should dispose of it either directly or indirectly. Per eliminare direttamente il tipo, chiamare il metodo Dispose in un blocco try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Per eliminarlo indirettamente, utilizzare un costrutto di linguaggio come ad esempio using in C# o Using in Visual Basic.To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Per ulteriori informazioni, vedere la sezione Dispose e l'argomento relativo all'utilizzo di un oggetto che IDisposable implementa IDisposable nell'argomento Interface.For more information, see Dispose and the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Note per gli eredi

Una classe derivata deve implementare almeno i Peek() metodi e Read() per creare un'istanza utile di. TextReaderA derived class must minimally implement the Peek() and Read() methods to make a useful instance of TextReader.

Costruttori

TextReader()

Inizializza una nuova istanza della classe TextReader.Initializes a new instance of the TextReader class.

Campi

Null

Fornisce un oggetto TextReader senza dati da cui sia possibile eseguire letture.Provides a TextReader with no data to read from.

Metodi

Close()

Chiude l'oggetto TextReader e libera tutte le risorse di sistema associate a TextReader.Closes the TextReader and releases any system resources associated with the 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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate dall'oggetto TextReader.Releases all resources used by the TextReader object.

Dispose(Boolean)

Rilascia le risorse non gestite usate da TextReader e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the TextReader and optionally releases the managed resources.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Ereditato da MarshalByRefObject)
Peek()

Legge il carattere successivo senza modificare lo stato del visualizzatore o dell'origine del carattere.Reads the next character without changing the state of the reader or the character source. Restituisce il successivo carattere disponibile senza leggerlo effettivamente dal lettore.Returns the next available character without actually reading it from the reader.

Read()

Legge il carattere successivo dal lettore di testo e fa avanzare di un carattere la posizione del carattere.Reads the next character from the text reader and advances the character position by one character.

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.Reads a specified maximum number of characters from the current reader and writes the data to a buffer, beginning at the specified index.

Read(Span<Char>)
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.Reads a specified maximum number of characters from the current text reader asynchronously and writes the data to a buffer, beginning at the specified index.

ReadAsync(Memory<Char>, CancellationToken)
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.Reads a specified maximum number of characters from the current text reader and writes the data to a buffer, beginning at the specified index.

ReadBlock(Span<Char>)
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.Reads a specified maximum number of characters from the current text reader asynchronously and writes the data to a buffer, beginning at the specified index.

ReadBlockAsync(Memory<Char>, CancellationToken)
ReadLine()

Legge una riga di caratteri dal lettore di testo e restituisce i dati come stringa.Reads a line of characters from the text reader and returns the data as a string.

ReadLineAsync()

Legge una riga di caratteri in modo asincrono e restituisce i dati come stringa.Reads a line of characters asynchronously and returns the data as a string.

ReadToEnd()

Legge tutti i caratteri dalla posizione corrente fino alla fine del lettore di testo e li restituisce come singola stringa.Reads all characters from the current position to the end of the text reader and returns them as one string.

ReadToEndAsync()

Legge in modo asincrono tutti i caratteri dalla posizione corrente fino alla fine del lettore di testo e li restituisce come singola stringa.Reads all characters from the current position to the end of the text reader asynchronously and returns them as one string.

Synchronized(TextReader)

Crea un wrapper thread-safe per l'oggetto TextReader specificato.Creates a thread-safe wrapper around the specified TextReader.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

Per una descrizione di questo membro, vedere Dispose().For a description of this member, see Dispose().

Si applica a

Vedi anche