TextReader Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
Methoden
Close() |
Schließt TextReader und gibt alle dem |
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 |
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(). |