TextReader Class

Definition

여러 개의 문자를 순차적으로 읽을 수 있는 판독기를 나타냅니다.Represents a reader that can read a sequential series of characters.

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.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class TextReader : MarshalByRefObject, IDisposable
type TextReader = class
    interface IDisposable
type TextReader = class
    inherit MarshalByRefObject
    interface IDisposable
Public MustInherit Class TextReader
Implements IDisposable
Public MustInherit Class TextReader
Inherits MarshalByRefObject
Implements IDisposable
Inheritance
TextReader
Inheritance
Derived
Attributes
Implements

Examples

TextReader 클래스는 추상 클래스입니다.The TextReader class is an abstract class. 따라서 인스턴스화하지 않습니다 해당 코드에서.Therefore, you do not instantiate it in your code. StreamReader 클래스는 TextReader에서 파생 되며 스트림에서 읽을 멤버의 구현을 제공 합니다.The 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

Remarks

TextReader은 각각 스트림과 문자열에서 문자를 읽는 StreamReaderStringReader의 추상 기본 클래스입니다.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.

Important

이 형식이 구현 하는 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 호출 해당 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을 구현 하는 개체 사용" 섹션을 참조 하세요.For more information, see Dispose and the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Notes to Implementers

파생 클래스는 TextReader의 유용한 인스턴스를 만들기 위해 Peek()Read() 메서드를 최소한으로 구현 해야 합니다.A derived class must minimally implement the Peek() and Read() methods to make a useful instance of TextReader.

Constructors

TextReader() TextReader 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the TextReader class.

Fields

Null

TextReader에 읽을 데이터를 제공하지 않습니다.Provides a TextReader with no data to read from.

Methods

Close()

TextReader를 닫고 TextReader와 관련된 시스템 리소스를 해제합니다.Closes the TextReader and releases any system resources associated with the TextReader.

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

TextReader 개체가 사용하는 모든 리소스를 해제합니다.Releases all resources used by the TextReader object.

Dispose(Boolean) TextReader에서 사용한 관리되지 않는 리소스를 해제하고 선택적으로 관리되는 리소스를 해제합니다.Releases the unmanaged resources used by the TextReader and optionally releases the managed resources.
Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService()

이 인스턴스의 수명 정책을 제어 하는 현재의 수명 서비스 개체를 검색 합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService()

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
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()

텍스트 판독기에서 다음 문자를 읽고 문자 위치가 한 문자 진행됩니다.Reads the next character from the text reader and advances the character position by one character.

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>)

현재 판독기에서 문자를 읽고, 지정된 버퍼에 씁니다.Reads the characters from the current reader and writes the data to the specified buffer.

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)

현재의 스트림에서 메모리 블록으로 문자를 비동기적으로 읽어 들입니다.Asynchronously reads the characters from the current stream into a memory block.

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>)

현재의 스트림에서 문자를 읽고, 버퍼에 데이터를 씁니다.Reads the characters from the current stream and writes the data to a buffer.

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)

현재의 스트림에서 비동기적으로 문자를 읽고, 버퍼에 데이터를 씁니다.Asynchronously reads the characters from the current stream and writes the data to a buffer.

ReadLine()

텍스트 판독기에서 한 줄의 문자를 읽고 데이터를 문자열로 반환합니다.Reads a line of characters from the text reader and returns the data as a string.

ReadLineAsync()

한 줄의 문자를 비동기적으로 읽고 데이터를 문자열로 반환합니다.Reads a line of characters asynchronously and returns the data as a string.

ReadToEnd()

현재 위치에서 텍스트 판독기 끝까지의 모든 문자를 읽어서 단일 문자열로 반환합니다.Reads all characters from the current position to the end of the text reader and returns them as one string.

ReadToEndAsync()

현재 위치에서 텍스트 판독기 끝까지의 모든 문자를 비동기적으로 읽어서 하나의 문자열로 반환합니다.Reads all characters from the current position to the end of the text reader asynchronously and returns them as one string.

Synchronized(TextReader)

지정된 TextReader 주위에 스레드로부터 안전한 래퍼를 만듭니다.Creates a thread-safe wrapper around the specified TextReader.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

IDisposable.Dispose()

이 멤버에 대한 설명은 Dispose()를 참조하십시오.For a description of this member, see Dispose().

Applies to

See also