Číst v angličtině

Sdílet prostřednictvím


TextReader Třída

Definice

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

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

Příklady

Třída TextReader je abstraktní třída. Proto se v kódu nevytvořuje instance. 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ými StringBuilder znaky.

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();
        }
    }
}

Poznámky

TextReader je abstraktní základní třída a StreamReaderStringReader, 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.

Důležité

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

Poznámky pro implementátory

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

Konstruktory

TextReader()

Inicializuje novou instanci TextReader třídy .

Pole

Null

Poskytuje bez TextReader dat pro čtení.

Metody

Close()

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

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící 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é nástrojem TextReader a volitelně uvolní spravované prostředky.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí hashovací funkce.

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

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

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

Type Získá z aktuální instance.

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

Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci.

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

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

(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, aniž by ho čtenář skutečně četl.

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 od aktuálního čtenáře a zapíše data do zadané vyrovnávací paměti.

ReadAsync(Char[], Int32, Int32)

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

ReadAsync(Memory<Char>, CancellationToken)

Asynchronně přeč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ů z aktuální čtečky textu a zapíše data do vyrovnávací paměti počínaje zadaným indexem.

ReadBlock(Span<Char>)

Nač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 asynchronně zadaný maximální počet znaků z aktuální čtečky textu 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()

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

ReadLineAsync(CancellationToken)

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

ReadToEnd()

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

ReadToEndAsync()

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

ReadToEndAsync(CancellationToken)

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

Synchronized(TextReader)

Vytvoří obálku bezpečnou pro přístup z více vláken kolem zadaného TextReadersouboru .

ToString()

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

(Zděděno od Object)

Explicitní implementace rozhraní

IDisposable.Dispose()

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

Platí pro

Viz také