Exportar (0) Imprimir
Expandir todo

TextWriter (Clase)

Actualización: noviembre 2007

Representa un sistema de escritura que puede escribir una serie secuencial de caracteres. Esta clase es abstracta.

Espacio de nombres:  System.IO
Ensamblado:  mscorlib (en 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 es la clase base abstracta de StreamWriter y StringWriter, que escriben caracteres en secuencias y cadenas, respectivamente. Cree una instancia de TextWriter para escribir un objeto en una cadena, escribir cadenas en un archivo o serializar XML. También puede utilizar una instancia de TextWriter para escribir texto en un almacén de respaldo personalizado utilizando las mismas API que utilizaría para una cadena o una secuencia, o para proporcionar compatibilidad con el formato de texto.

Todos los métodos Write de TextWriter que tienen tipos de datos primitivos como parámetros escriben los valores en forma de cadena.

De forma predeterminada, TextWriter no es seguro para la ejecución de subprocesos. Para obtener un contenedor seguro para subprocesos, vea TextWriter.Synchronized.

Para obtener una lista de tareas de E/S comunes, vea Tareas de E/S comunes.

Notas para los herederos:

Una clase derivada debe implementar al menos el método Write para crear una instancia útil de TextWriter.

En el ejemplo de código siguiente se muestra el comportamiento polimórfico de los tipos TextReader y TextWriter. Dado que tanto aStringWriter como aStreamWriter son tipos TextWriter, el método WriteVowel se invoca con ambos objetos y se ejecutan los métodos Write asociados a cada tipo específico. De forma similar, el método ReadText se invoca tanto con aStringReader como con aStreamReader, y se ejecuta el método ReadToEnd correcto. Obsérvese que para aStringWriter y aStringReader el almacén de respaldo es una cadena, mientras que el almacén de respaldo para aStreamWriter y aStreamReader es un archivo.

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


Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

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 para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0

XNA Framework

Compatible con: 2.0, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft