TextReader Klasa

Definicja

Reprezentuje czytnik, który może odczytywać sekwencyjne serie znaków.Represents a reader that can read a sequential series of characters.

public ref class TextReader abstract : MarshalByRefObject, IDisposable
public abstract class TextReader : MarshalByRefObject, IDisposable
[System.Serializable]
public abstract class TextReader : 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
Dziedziczenie
TextReader
Dziedziczenie
Pochodne
Atrybuty
Implementuje

Przykłady

Klasa TextReader jest klasą abstrakcyjną.The TextReader class is an abstract class. W związku z tym, nie tworzy się obiektu w kodzie.Therefore, you do not instantiate it in your code. Klasa StreamReader pochodzi od TextReader i udostępnia implementacje elementów członkowskich do odczytu ze strumienia.The StreamReader class derives from TextReader and provides implementations of the members for reading from a stream. Poniższy przykład pokazuje, jak odczytać wszystkie znaki w pliku przy użyciu metody StreamReader.ReadAsync(Char[], Int32, Int32).The following example shows how to read all the characters in a file by using the StreamReader.ReadAsync(Char[], Int32, Int32) method. Sprawdza, czy każdy znak jest literą, cyfrą lub białym znakiem przed dodaniem znaku do wystąpienia klasy StringBuilder.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

Uwagi

TextReader jest abstrakcyjną klasą bazową StreamReader i StringReader, która odczytuje odpowiednio znaki ze strumieni i ciągów.TextReader is the abstract base class of StreamReader and StringReader, which read characters from streams and strings, respectively. Użyj tych klas pochodnych, aby otworzyć plik tekstowy służący do odczytywania określonego zakresu znaków lub tworzenia czytnika na podstawie istniejącego strumienia.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.

Ważne

Ten typ implementuje interfejs IDisposable.This type implements the IDisposable interface. Po zakończeniu korzystania z dowolnego typu, który pochodzi z tego typu, należy usunąć go bezpośrednio lub pośrednio.When you have finished using any type that derives from this type, you should dispose of it either directly or indirectly. Aby usunąć typ bezpośrednio, wywołaj metodę Dispose w bloku try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Aby usunąć go pośrednio, użyj konstrukcji językowej, takiej jak using (in C#) lub Using (w Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Aby uzyskać więcej informacji, zobacz Metoda Dispose i "Używanie obiektu implementującego interfejs IDisposable" w temacie IDisposable Interface.For more information, see Dispose and the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Uwagi dotyczące implementowania

Klasa pochodna musi minimalnie zaimplementować metody Peek() i Read(), aby utworzyć użyteczne wystąpienie TextReader.A derived class must minimally implement the Peek() and Read() methods to make a useful instance of TextReader.

Konstruktory

TextReader()

Inicjuje nowe wystąpienie klasy TextReader klasy.Initializes a new instance of the TextReader class.

Pola

Null

Udostępnia TextReader bez danych, z których ma zostać odczytany.Provides a TextReader with no data to read from.

Metody

Close()

Zamyka TextReader i zwalnia wszystkie zasoby systemowe skojarzone z TextReader.Closes the TextReader and releases any system resources associated with the TextReader.

CreateObjRef(Type)

Tworzy obiekt, który zawiera wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikacji z obiektem zdalnym.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia wszystkie zasoby używane przez obiekt TextReader.Releases all resources used by the TextReader object.

Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez TextReader i opcjonalnie zwalnia zarządzane zasoby.Releases the unmanaged resources used by the TextReader and optionally releases the managed resources.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetLifetimeService()

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
InitializeLifetimeService()

Uzyskuje obiekt usługi istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy skróconą kopię bieżącego obiektu MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

(Odziedziczone po MarshalByRefObject)
Peek()

Odczytuje następny znak bez zmiany stanu czytnika lub źródła znaku.Reads the next character without changing the state of the reader or the character source. Zwraca następny dostępny znak bez rzeczywistego odczytu z czytnika.Returns the next available character without actually reading it from the reader.

Read()

Odczytuje następny znak z czytnika tekstu i zwiększa położenie znaku o jeden znak.Reads the next character from the text reader and advances the character position by one character.

Read(Char[], Int32, Int32)

Odczytuje określoną maksymalną liczbę znaków z bieżącego czytnika i zapisuje dane w buforze, rozpoczynając od określonego indeksu.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>)

Odczytuje znaki z bieżącego czytnika i zapisuje dane w określonym buforze.Reads the characters from the current reader and writes the data to the specified buffer.

ReadAsync(Char[], Int32, Int32)

Odczytuje określoną maksymalną liczbę znaków z bieżącego czytnika tekstu asynchronicznie i zapisuje dane w buforze, rozpoczynając od określonego indeksu.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)

Asynchronicznie odczytuje znaki z bieżącego strumienia do bloku pamięci.Asynchronously reads the characters from the current stream into a memory block.

ReadBlock(Char[], Int32, Int32)

Odczytuje określoną maksymalną liczbę znaków z bieżącego czytnika tekstu i zapisuje dane w buforze, rozpoczynając od określonego indeksu.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>)

Odczytuje znaki z bieżącego strumienia i zapisuje dane w buforze.Reads the characters from the current stream and writes the data to a buffer.

ReadBlockAsync(Char[], Int32, Int32)

Odczytuje określoną maksymalną liczbę znaków z bieżącego czytnika tekstu asynchronicznie i zapisuje dane w buforze, rozpoczynając od określonego indeksu.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)

Asynchronicznie odczytuje znaki z bieżącego strumienia i zapisuje je w buforze.Asynchronously reads the characters from the current stream and writes the data to a buffer.

ReadLine()

Odczytuje wiersz znaków z czytnika tekstu i zwraca dane jako ciąg.Reads a line of characters from the text reader and returns the data as a string.

ReadLineAsync()

Odczytuje wiersz znaków asynchronicznie i zwraca dane jako ciąg.Reads a line of characters asynchronously and returns the data as a string.

ReadToEnd()

Odczytuje wszystkie znaki od bieżącego położenia do końca czytnika tekstu i zwraca je jako jeden ciąg.Reads all characters from the current position to the end of the text reader and returns them as one string.

ReadToEndAsync()

Odczytuje wszystkie znaki od bieżącego położenia do końca czytnika tekstu asynchronicznie i zwraca je jako jeden ciąg.Reads all characters from the current position to the end of the text reader asynchronously and returns them as one string.

Synchronized(TextReader)

Tworzy otokę bezpieczną wątkową wokół określonego TextReader.Creates a thread-safe wrapper around the specified TextReader.

ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IDisposable.Dispose()

Aby uzyskać opis tego elementu członkowskiego, zobacz Dispose().For a description of this member, see Dispose().

Dotyczy

Zobacz też