TextReader 클래스

정의

순차적 문자 계열을 읽을 수 있는 판독기를 나타냅니다.

public ref class TextReader abstract : IDisposable
public ref class TextReader abstract : MarshalByRefObject, IDisposable
public abstract class TextReader : IDisposable
[System.Serializable]
public abstract class TextReader : MarshalByRefObject, IDisposable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class TextReader : MarshalByRefObject, IDisposable
public abstract class TextReader : MarshalByRefObject, IDisposable
type TextReader = class
    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
type TextReader = class
    inherit MarshalByRefObject
    interface IDisposable
Public MustInherit Class TextReader
Implements IDisposable
Public MustInherit Class TextReader
Inherits MarshalByRefObject
Implements IDisposable
상속
TextReader
상속
파생
특성
구현

예제

클래스는 TextReader 추상 클래스입니다. 따라서 코드에서 인스턴스화하지 않습니다. 클래스에서 StreamReader 파생 TextReader 하 고 스트림에서 읽기 위한 멤버의 구현을 제공 합니다. 다음 예제에서는 메서드를 사용하여 파일의 모든 문자를 읽는 StreamReader.ReadAsync(Char[], Int32, Int32) 방법을 보여줍니다. 클래스 인스턴스 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

설명

TextReader는 각각 스트림과 StringReader문자열에서 문자를 읽는 추상 기본 클래스 StreamReader 및 입니다. 이러한 파생 클래스를 사용하여 지정된 문자 범위를 읽기 위한 텍스트 파일을 열거나 기존 스트림을 기반으로 판독기를 만듭니다.

Important

이 형식은 IDisposable 인터페이스를 구현합니다. 이 형식에서 파생된 모든 형식의 사용을 완료한 경우 직접 또는 간접적으로 삭제해야 합니다. 형식을 직접 삭제하려면 Disposetry/ 블록에서 해당 catch 메서드를 호출합니다. 간접적으로 삭제하려면 using(C#) 또는 Using(Visual Basic)와 같은 언어 구문을 사용합니다. 자세한 내용은 인터페이스 항목의 Dispose 및 "IDisposable을 구현하는 개체 사용" 섹션을 IDisposable 참조하세요.

구현자 참고

파생 클래스는 유용한 인스턴스TextReaderPeek() 만들기 위해 메서드 및 Read() 메서드를 최소한으로 구현해야 합니다.

생성자

Name Description
TextReader()

TextReader 클래스의 새 인스턴스를 초기화합니다.

필드

Name Description
Null

TextReader 읽을 데이터가 없는 데이터를 제공합니다.

메서드

Name Description
Close()

TextReader 연결된 TextReader시스템 리소스를 닫고 해제합니다.

CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시를 생성하는 데 필요한 모든 관련 정보를 포함하는 개체를 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
Dispose()

개체에서 사용하는 모든 리소스를 해제합니다 TextReader .

Dispose(Boolean)

관리되지 않는 리소스를 TextReader 해제하고 관리되는 리소스를 선택적으로 해제합니다.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetLifetimeService()

이 인스턴스의 수명 정책을 제어하는 현재 수명 서비스 개체를 검색합니다.

(다음에서 상속됨 MarshalByRefObject)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
InitializeLifetimeService()

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
Peek()

판독기 또는 문자 원본의 상태를 변경하지 않고 다음 문자를 읽습니다. 판독기에서 실제로 읽지 않고 사용 가능한 다음 문자를 반환합니다.

Read()

텍스트 판독기에서 다음 문자를 읽고 문자 위치를 한 문자씩 앞으로 이동합니다.

Read(Char[], Int32, Int32)

현재 판독기에서 지정된 최대 문자 수를 읽고 지정된 인덱스에서 시작하여 버퍼에 데이터를 씁니다.

Read(Span<Char>)

현재 판독기에서 문자를 읽고 지정된 버퍼에 데이터를 씁니다.

ReadAsync(Char[], Int32, Int32)

현재 텍스트 판독기에서 지정된 최대 문자 수를 비동기적으로 읽고 지정된 인덱스에서 시작하여 버퍼에 데이터를 씁니다.

ReadAsync(Memory<Char>, CancellationToken)

현재 스트림의 문자를 메모리 블록으로 비동기적으로 읽습니다.

ReadBlock(Char[], Int32, Int32)

현재 텍스트 판독기에서 지정된 최대 문자 수를 읽고 지정된 인덱스에서 시작하여 버퍼에 데이터를 씁니다.

ReadBlock(Span<Char>)

현재 스트림에서 문자를 읽고 버퍼에 데이터를 씁니다.

ReadBlockAsync(Char[], Int32, Int32)

현재 텍스트 판독기에서 지정된 최대 문자 수를 비동기적으로 읽고 지정된 인덱스에서 시작하여 버퍼에 데이터를 씁니다.

ReadBlockAsync(Memory<Char>, CancellationToken)

현재 스트림에서 문자를 비동기적으로 읽고 버퍼에 데이터를 씁니다.

ReadLine()

텍스트 판독기에서 문자 줄을 읽고 데이터를 문자열로 반환합니다.

ReadLineAsync()

문자 줄을 비동기적으로 읽고 데이터를 문자열로 반환합니다.

ReadToEnd()

현재 위치에서 텍스트 판독기의 끝까지 모든 문자를 읽고 하나의 문자열로 반환합니다.

ReadToEndAsync()

현재 위치에서 텍스트 판독기의 끝까지 모든 문자를 비동기적으로 읽고 하나의 문자열로 반환합니다.

Synchronized(TextReader)

지정된 TextReader주위에 스레드로부터 안전한 래퍼를 만듭니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

Name Description
IDisposable.Dispose()

이 멤버에 대한 설명은 을 참조하세요 Dispose().

적용 대상

추가 정보