エクスポート (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 は、ストリームと文字列から文字を読み取る StreamReader および StringReader の抽象基本クラスです。テキスト ファイルを開いて、指定した範囲の文字を読み取りを行う場合や、既存のストリームに基づいてリーダーを作成する場合は、これらの派生クラスを使用します。

継承元へのメモ :

TextReader クラスの有用なインスタンスを作成するには、派生クラスで少なくとも Peek メソッドと Read メソッドを実装する必要があります。

TextReader タイプと TextWriter タイプのポリモーフィックな動作の例を次に示します。aStringWriteraStreamWriter は両方とも TextWriter タイプであるため、両方のオブジェクトで WriteVowel メソッドが呼び出され、それぞれのタイプに関連付けられた Write メソッドが実行されます。同様に、aStringReaderaStreamReader の両方で ReadText メソッドが呼び出され、正しい ReadToEnd メソッドが実行されます。aStringWriter および aStringReader のバッキング ストアは文字列であり、aStreamWriter および aStreamReader のバッキング ストアはファイルです。

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