TextReader Třída

Definice

Představuje čtenáře, který může číst sekvenční řadu znaků.

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
Dědičnost
TextReader
Dědičnost
Odvozené
Atributy
Implementuje

Příklady

Třída TextReader je abstraktní třída. Proto ji v kódu neodstraňujete. Třída StreamReader je odvozena z TextReader a poskytuje implementace členů pro čtení z datového proudu. Následující příklad ukazuje, jak číst všechny znaky v souboru pomocí StreamReader.ReadAsync(Char[], Int32, Int32) metody. Před přidáním znaku do instance třídy zkontroluje, zda je každý znak písmenem, číslicí nebo prázdným znakem StringBuilder .

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

Poznámky

TextReader je abstraktní základní třída StreamReader a StringReader, která čte znaky z datových proudů a řetězců v uvedeném pořadí. Tyto odvozené třídy slouží k otevření textového souboru pro čtení zadaného rozsahu znaků nebo k vytvoření čtečky na základě existujícího datového proudu.

Important

Tento typ implementuje rozhraní IDisposable. Po dokončení použití libovolného typu, který je odvozen z tohoto typu, byste ho měli likvidovat buď přímo nebo nepřímo. Chcete-li typ odstranit přímo, zavolejte jeho Dispose metodu v bloku try/catch. Pokud ho chcete zlikvidovat nepřímo, použijte konstruktor jazyka, jako je using (v jazyce C#) nebo Using (v jazyce Visual Basic). Další informace najdete v IDisposable tématu rozhraní v části Použití objektu, který implementuje IDisposable.

Poznámky pro implementátory

Odvozená třída musí minimálně implementovat Peek() a Read() metody, aby byla užitečná instance TextReader.

Konstruktory

Name Description
TextReader()

Inicializuje novou instanci TextReader třídy.

Pole

Name Description
Null

TextReader Poskytuje žádná data, ze které by bylo potřeba číst.

Metody

Name Description
Close()

TextReader Zavře a uvolní všechny systémové prostředky přidružené k sadě TextReader.

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
Dispose()

Uvolní všechny prostředky používané objektem TextReader .

Dispose(Boolean)

Uvolní nespravované prostředky používané TextReader a volitelně uvolní spravované prostředky.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
Peek()

Přečte další znak beze změny stavu čtenáře nebo zdroje znaků. Vrátí další dostupný znak bez toho, aby ho čtečka skutečně četla.

Read()

Přečte další znak ze čtečky textu a posune pozici znaku o jeden znak.

Read(Char[], Int32, Int32)

Přečte zadaný maximální počet znaků od aktuálního čtenáře a zapíše data do vyrovnávací paměti počínaje zadaným indexem.

Read(Span<Char>)

Přečte znaky z aktuální čtečky a zapíše data do zadané vyrovnávací paměti.

ReadAsync(Char[], Int32, Int32)

Přečte zadaný maximální počet znaků z aktuální čtečky textu asynchronně a zapíše data do vyrovnávací paměti počínaje zadaným indexem.

ReadAsync(Memory<Char>, CancellationToken)

Asynchronně čte znaky z aktuálního datového proudu do bloku paměti.

ReadBlock(Char[], Int32, Int32)

Přečte zadaný maximální počet znaků od aktuální čtečky textu a zapíše data do vyrovnávací paměti počínaje zadaným indexem.

ReadBlock(Span<Char>)

Přečte znaky z aktuálního datového proudu a zapíše data do vyrovnávací paměti.

ReadBlockAsync(Char[], Int32, Int32)

Přečte zadaný maximální počet znaků z aktuální čtečky textu asynchronně a zapíše data do vyrovnávací paměti počínaje zadaným indexem.

ReadBlockAsync(Memory<Char>, CancellationToken)

Asynchronně čte znaky z aktuálního datového proudu a zapisuje data do vyrovnávací paměti.

ReadLine()

Přečte řádek znaků ze čtečky textu a vrátí data jako řetězec.

ReadLineAsync()

Načte řádek znaků asynchronně a vrátí data jako řetězec.

ReadLineAsync(CancellationToken)

Načte řádek znaků asynchronně a vrátí data jako řetězec.

ReadToEnd()

Přečte všechny znaky z aktuální pozice na konec čtečky textu a vrátí je jako jeden řetězec.

ReadToEndAsync()

Přečte všechny znaky z aktuální pozice na konec čtečky textu asynchronně a vrátí je jako jeden řetězec.

ReadToEndAsync(CancellationToken)

Přečte všechny znaky z aktuální pozice na konec čtečky textu asynchronně a vrátí je jako jeden řetězec.

Synchronized(TextReader)

Vytvoří obálku bezpečnou pro vlákno kolem zadaného TextReader.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

Name Description
IDisposable.Dispose()

Popis tohoto člena naleznete v tématu Dispose().

Platí pro

Viz také