Teilen über


TextReader Klasse

Definition

Stellt ein Leseprogramm dar, das eine sequenzielle Serie von Zeichenfolgen lesen kann.

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
Vererbung
TextReader
Vererbung
Abgeleitet
Attribute
Implementiert

Beispiele

Die TextReader-Klasse ist eine abstrakte Klasse. Daher instanziieren Sie sie nicht in Ihrem Code. Die StreamReader -Klasse wird von TextReader abgeleitet und stellt Implementierungen der Member zum Lesen aus einem Stream bereit. Im folgenden Beispiel wird gezeigt, wie alle Zeichen in einer Datei mithilfe der StreamReader.ReadAsync(Char[], Int32, Int32) -Methode gelesen werden. Es überprüft, ob jedes Zeichen ein Buchstabe, eine Ziffer oder ein Leerzeichen ist, bevor das Zeichen einem instance der StringBuilder -Klasse hinzugefügt wird.

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

Hinweise

TextReader ist die abstrakte Basisklasse von StreamReader und StringReader, die Zeichen aus Streams bzw. Zeichenfolgen lesen. Verwenden Sie diese abgeleiteten Klassen, um eine Textdatei zum Lesen eines angegebenen Zeichenbereichs zu öffnen oder einen Reader basierend auf einem vorhandenen Datenstrom zu erstellen.

Wichtig

Dieser Typ implementiert die IDisposable-Schnittstelle. Wenn Sie die Verwendung eines typs abgeschlossen haben, der von diesem Typ abgeleitet ist, sollten Sie ihn entweder direkt oder indirekt verwerfen. Zum direkten Löschen des Typs rufen Sie seine Dispose-Methode in einem try/catch-Block auf. Zum indirekten Löschen verwenden Sie ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic). Weitere Informationen finden Sie unter Dispose und im Abschnitt "Using an Object that Implements IDisposable" (Verwenden eines Objekts, das IDisposable implementiert) im IDisposable Schnittstellenthema.

Hinweise für Ausführende

Eine abgeleitete Klasse muss die Peek() Methoden und Read() minimal implementieren, um eine nützliche instance von TextReaderzu erstellen.

Konstruktoren

TextReader()

Initialisiert eine neue Instanz der TextReader-Klasse.

Felder

Null

Stellt einen TextReader ohne zu lesende Daten bereit.

Methoden

Close()

Schließt TextReader und gibt alle dem TextReader zugeordneten Systemressourcen frei.

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom TextReader-Objekt verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die von TextReader verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
Peek()

Liest das nächste Zeichen, ohne den Zustand des Readers oder der Zeichenquelle zu ändern. Gibt das nächste verfügbare Zeichen zurück, ohne es tatsächlich aus dem Reader zu lesen.

Read()

Liest das nächste Zeichen aus dem Text-Reader und verschiebt die Zeichenposition um ein Zeichen nach vorn.

Read(Char[], Int32, Int32)

Liest eine angegebene Höchstanzahl von Zeichen aus dem aktuellen Reader und schreibt die Daten in einen Puffer, wobei am angegebenen Index begonnen wird.

Read(Span<Char>)

Liest die Zeichen aus dem aktuellen Reader und schreibt die Daten in den angegebenen Puffer

ReadAsync(Char[], Int32, Int32)

Liest asynchron eine angegebene Höchstanzahl von Zeichen aus dem aktuellen Textreader und schreibt die Daten in einen Puffer, wobei am angegebenen Index begonnen wird.

ReadAsync(Memory<Char>, CancellationToken)

Liest die Zeichen asynchron aus dem aktuellen Datenstrom in einen Speicherblock.

ReadBlock(Char[], Int32, Int32)

Liest eine angegebene Höchstanzahl von Zeichen aus dem aktuellen Textreader und schreibt die Daten in einen Puffer, wobei am angegebenen Index begonnen wird.

ReadBlock(Span<Char>)

Liest die Zeichen aus dem aktuellen Datenstrom und schreibt die Daten in einen Puffer.

ReadBlockAsync(Char[], Int32, Int32)

Liest asynchron eine angegebene Höchstanzahl von Zeichen aus dem aktuellen Textreader und schreibt die Daten in einen Puffer, wobei am angegebenen Index begonnen wird.

ReadBlockAsync(Memory<Char>, CancellationToken)

Liest die Zeichen aus dem aktuellen Datenstrom asynchron und schreibt die Daten in einen Puffer.

ReadLine()

Liest eine Zeile von Zeichen aus dem Textleser und gibt die Daten als Zeichenfolge zurück.

ReadLineAsync()

Liest eine Zeile von asynchron Zeichen aus dem aktuellen Stream und gibt die Daten als Zeichenfolge zurück.

ReadLineAsync(CancellationToken)

Liest eine Zeile von asynchron Zeichen aus dem aktuellen Stream und gibt die Daten als Zeichenfolge zurück.

ReadToEnd()

Liest alle Zeichen von der aktuellen Position bis zum Ende des Text-Readers und gibt diese als eine Zeichenfolge zurück.

ReadToEndAsync()

Liest alle Zeichen asynchron von der aktuellen Position bis zum Ende des Text-Readers und gibt diese als eine Zeichenfolge zurück.

ReadToEndAsync(CancellationToken)

Liest alle Zeichen asynchron von der aktuellen Position bis zum Ende des Text-Readers und gibt diese als eine Zeichenfolge zurück.

Synchronized(TextReader)

Erstellt einen threadsicheren Wrapper um den angegebenen TextReader.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Eine Beschreibung dieses Elements finden Sie unter Dispose().

Gilt für:

Weitere Informationen