내보내기(0) 인쇄
모두 확장

TextReader 클래스

업데이트: 2007년 11월

여러 개의 문자를 순차적으로 읽을 수 있는 판독기를 나타냅니다.

네임스페이스:  System.IO
어셈블리:  mscorlib(mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public abstract class TextReader : MarshalByRefObject, 
	IDisposable
/** @attribute SerializableAttribute */ 
/** @attribute ComVisibleAttribute(true) */
public abstract class TextReader extends MarshalByRefObject implements IDisposable
public abstract class TextReader extends MarshalByRefObject implements IDisposable

TextReader는 각각 스트림과 문자열에서 문자를 읽는 StreamReaderStringReader의 추상 기본 클래스입니다. 지정된 범위의 문자를 읽기 위해 텍스트 파일을 열거나 기존 스트림을 기초로 판독기를 만들려면 이러한 파생 클래스를 사용합니다.

상속자 참고 사항:

파생 클래스에서는 최소한 PeekRead 메서드를 구현해야 TextReader 인스턴스를 잘 사용할 수 있습니다.

다음 코드 예제에서는 TextReaderTextWriter 형식의 다형 동작을 보여 줍니다. aStringWriteraStreamWriter는 모두 TextWriter 형식이므로 WriteVowel 메서드는 두 개체를 모두 사용하여 호출되며 각 특정 형식과 관련된 Write 메서드가 실행됩니다. 마찬가지로 ReadText 메서드는 aStringReaderaStreamReader를 모두 사용하여 호출되며 올바른 ReadToEnd 메서드가 실행됩니다. aStringWriteraStringReader의 경우 백업 저장소는 문자열인 반면 파일은 aStreamWriteraStreamReader에 대한 백업 저장소입니다.

using System;
using System.IO;

class TextRW
{
    static void Main()
    {
        TextWriter stringWriter = new StringWriter();
        using(TextWriter streamWriter = 
            new StreamWriter("InvalidPathChars.txt"))
        {
            WriteText(stringWriter);
            WriteText(streamWriter);
        }

        TextReader stringReader = 
            new StringReader(stringWriter.ToString());
        using(TextReader streamReader = 
            new StreamReader("InvalidPathChars.txt"))
        {
            ReadText(stringReader);
            ReadText(streamReader);
        }
    }

    static void WriteText(TextWriter textWriter)
    {
        textWriter.Write("Invalid file path characters are: ");
        textWriter.Write(Path.InvalidPathChars);
        textWriter.Write('.');
    }

    static void ReadText(TextReader textReader)
    {
        Console.WriteLine("From {0} - {1}", 
            textReader.GetType().Name, textReader.ReadToEnd());
    }
}


import System.*;
import System.IO.*;

class TextRW
{
    public static void main(String[] args)
    {
        TextWriter stringWriter = new StringWriter();
        TextWriter streamWriter = new StreamWriter("InvalidPathChars.txt");
        try {
            WriteText(stringWriter);
            WriteText(streamWriter);
        }
        finally {
            streamWriter.Dispose();
        }
        TextReader stringReader = new StringReader(stringWriter.ToString());
        TextReader streamReader = new StreamReader("InvalidPathChars.txt");
        try {
            ReadText(stringReader);
            ReadText(streamReader);
        }
        finally {
            streamReader.Dispose();
        }        
    } //main

    static void WriteText(TextWriter textWriter)
    {
        textWriter.Write("Invalid file path characters are: ");
        textWriter.Write(Path.InvalidPathChars);
        textWriter.Write('.');
    } //WriteText

    static void ReadText(TextReader textReader) 
    {
        Console.WriteLine("From {0} - {1}", 
            textReader.GetType().get_Name(),textReader.ReadToEnd());
    } //ReadText
} //TextRW


이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Compact Framework

3.5, 2.0, 1.0에서 지원

XNA Framework

2.0, 1.0에서 지원

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft