TextWriter (Clase)
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
SerializableAttribute ComVisibleAttribute(true) 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.
Una clase derivada debe implementar al menos el método Write para poder crear una instancia útil de TextWriter.
En la siguiente tabla se muestran ejemplos de otras tareas de E/S típicas o relacionadas.
| Para realizar esta operación... | Vea el ejemplo de este tema... |
|---|---|
| Crear un archivo de texto | |
| Escribir en un archivo de texto | |
| Leer de un archivo de texto | |
| Anexar texto a un archivo | |
| Obtener el tamaño de un archivo | |
| Obtener los atributos de un archivo | |
| Establecer los atributos de un archivo | |
| Determinar si un archivo existe | |
| Leer de un archivo binario | |
| Escribir en un archivo binario |
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
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.