このドキュメントはアーカイブされており、メンテナンスされていません。

TextWriter クラス

更新 : 2007 年 11 月

一連の文字を書き込むことができるライタを表します。このクラスは抽象クラスです。

名前空間 :  System.IO
アセンブリ :  mscorlib (mscorlib.dll 内)

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

TextWriter は、ストリームと文字列に文字を書き込む StreamWriter および StringWriter の抽象基本クラスです。オブジェクトを文字列に書き込む、文字列をファイルに書き込む、または、XML のシリアル化を行うには、TextWriter のインスタンスを作成します。また、TextWriter を使用すると、文字列またはストリームに対して使用するものと同一の API でカスタム バッキング ストアにテキストを書き込むことができます。また、テキストに対する書式設定のサポートを追加することもできます。

パラメータとしてプリミティブ データ型を持っている TextWriterWrite メソッドはすべて、文字列として値を書き込みます。

既定では、TextWriter はスレッド セーフではありません。スレッド セーフ ラッパーについては、TextWriter.Synchronized のトピックを参照してください。

共通 I/O タスクの一覧については、「共通 I/O タスク」を参照してください。

継承元へのメモ :

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

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
表示: