TextReader TextReader TextReader TextReader Class

Определение

Представляет средство чтения, позволяющее считывать последовательные наборы знаков.Represents a reader that can read a sequential series of characters.

public ref class TextReader abstract : 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
Наследование
Производный
Атрибуты
Реализации

Примеры

Класс TextReader является абстрактным.The TextReader class is an abstract class. Следовательно, в коде экземпляр этого объекта не создается.Therefore, you do not instantiate it in your code. Класс является производным от TextReader и предоставляет реализации членов для чтения из потока. StreamReaderThe StreamReader class derives from TextReader and provides implementations of the members for reading from a stream. В следующем примере показано, как считывать все символы в файле с помощью 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. Он проверяет, является ли каждый символ буквой, цифрой или пробелом перед добавлением символа в экземпляр 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

Комментарии

TextReaderявляется абстрактным базовым StreamReader классом StringReaderи, который считывает символы из потоков и строк соответственно.TextReader is the abstract base class of StreamReader and StringReader, which read characters from streams and strings, respectively. Используйте эти производные классы, чтобы открыть текстовый файл для чтения указанного диапазона символов или для создания модуля чтения на основе существующего потока.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.

Важно!

Этот тип реализует интерфейс IDisposable.This type implements the IDisposable interface. После завершения использования любого типа, производного от этого типа, следует удалить его прямо или косвенно.When you have finished using any type that derives from this type, you should dispose of it either directly or indirectly. Чтобы сделать это прямо, вызовите его метод Dispose в блоке try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Чтобы сделать это косвенно, используйте языковые конструкции, такие как using (в C#) или Using (в Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Дополнительные сведения см. в IDisposable разделе Dispose и «использование объекта, реализующего IDisposable» раздела Interface.For more information, see Dispose and the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Примечания для тех, кто наследует этот метод

Производный класс должен как минимум реализовать Peek() методы и Read() для TextReaderсоздания полезного экземпляра.A derived class must minimally implement the Peek() and Read() methods to make a useful instance of TextReader.

Конструкторы

TextReader() TextReader() TextReader() TextReader()

Инициализирует новый экземпляр класса TextReader.Initializes a new instance of the TextReader class.

Поля

Null Null Null Null

Предоставляет TextReader без данных, доступных для чтения.Provides a TextReader with no data to read from.

Методы

Close() Close() Close() Close()

Закрывает TextReader и освобождает все системные ресурсы, связанные с TextReader.Closes the TextReader and releases any system resources associated with the TextReader.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Освобождает все ресурсы, используемые объектом TextReader.Releases all resources used by the TextReader object.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом TextReader, а при необходимости освобождает также управляемые ресурсы.Releases the unmanaged resources used by the TextReader and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
Peek() Peek() Peek() Peek()

Выполняет чтение следующего символа, не изменяя состояние средства чтения или источника символа.Reads the next character without changing the state of the reader or the character source. Возвращает следующий доступный символ, фактически не считывая его из средства чтения.Returns the next available character without actually reading it from the reader.

Read() Read() Read() Read()

Выполняет чтение следующего символа из средства чтения текста и перемещает положение символа на одну позицию вперед.Reads the next character from the text reader and advances the character position by one character.

Read(Char[], Int32, Int32) Read(Char[], Int32, Int32) Read(Char[], Int32, Int32) Read(Char[], Int32, Int32)

Считывает указанное максимальное количество символов из текущего средства чтения и записывает данные в буфер, начиная с заданного индекса.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>) Read(Span<Char>) Read(Span<Char>) Read(Span<Char>)
ReadAsync(Char[], Int32, Int32) ReadAsync(Char[], Int32, Int32) ReadAsync(Char[], Int32, Int32) ReadAsync(Char[], Int32, Int32)

Асинхронно считывает указанное максимальное количество символов из текущего средства чтения текста и записывает данные в буфер, начиная с заданного индекса.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) ReadAsync(Memory<Char>, CancellationToken) ReadAsync(Memory<Char>, CancellationToken) ReadAsync(Memory<Char>, CancellationToken)
ReadBlock(Char[], Int32, Int32) ReadBlock(Char[], Int32, Int32) ReadBlock(Char[], Int32, Int32) ReadBlock(Char[], Int32, Int32)

Считывает указанное максимальное количество символов из текущего средства чтения текста и записывает данные в буфер, начиная с заданного индекса.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>) ReadBlock(Span<Char>) ReadBlock(Span<Char>) ReadBlock(Span<Char>)
ReadBlockAsync(Char[], Int32, Int32) ReadBlockAsync(Char[], Int32, Int32) ReadBlockAsync(Char[], Int32, Int32) ReadBlockAsync(Char[], Int32, Int32)

Асинхронно считывает указанное максимальное количество символов из текущего средства чтения текста и записывает данные в буфер, начиная с заданного индекса.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) ReadBlockAsync(Memory<Char>, CancellationToken) ReadBlockAsync(Memory<Char>, CancellationToken) ReadBlockAsync(Memory<Char>, CancellationToken)
ReadLine() ReadLine() ReadLine() ReadLine()

Выполняет чтение строки символов из средства чтения текста и возвращает данные в виде строки.Reads a line of characters from the text reader and returns the data as a string.

ReadLineAsync() ReadLineAsync() ReadLineAsync() ReadLineAsync()

Асинхронно выполняет чтение строки символов и возвращает данные в виде строки.Reads a line of characters asynchronously and returns the data as a string.

ReadToEnd() ReadToEnd() ReadToEnd() ReadToEnd()

Считывает все символы, начиная с текущей позиции до конца средства чтения текста, и возвращает их в виде одной строки.Reads all characters from the current position to the end of the text reader and returns them as one string.

ReadToEndAsync() ReadToEndAsync() ReadToEndAsync() ReadToEndAsync()

Асинхронно считывает все символы, начиная с текущей позиции до конца средства чтения текста, и возвращает их в виде одной строки.Reads all characters from the current position to the end of the text reader asynchronously and returns them as one string.

Synchronized(TextReader) Synchronized(TextReader) Synchronized(TextReader) Synchronized(TextReader)

Создает потокобезопасную оболочку для указанного объекта TextReader.Creates a thread-safe wrapper around the specified TextReader.

ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Явные реализации интерфейса

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Описание этого члена см. в разделе Dispose().For a description of this member, see Dispose().

Применяется к

Дополнительно