TextReader Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 |
Metodi
Close() |
Chiude l'oggetto TextReader e libera tutte le risorse di sistema associate a |
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 |
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(). |