StreamWriter Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Implementa un TextWriter para escribir caracteres en una secuencia en una codificación determinada.
public ref class StreamWriter : System::IO::TextWriter
public class StreamWriter : System.IO.TextWriter
[System.Serializable]
public class StreamWriter : System.IO.TextWriter
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StreamWriter : System.IO.TextWriter
type StreamWriter = class
inherit TextWriter
[<System.Serializable>]
type StreamWriter = class
inherit TextWriter
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StreamWriter = class
inherit TextWriter
Public Class StreamWriter
Inherits TextWriter
- Herencia
- Herencia
- Atributos
Ejemplos
En el ejemplo siguiente se muestra cómo usar un objeto StreamWriter para escribir un archivo que enumera los directorios en la unidad C y, a continuación, usa un objeto StreamReader para leer y mostrar cada nombre de directorio. Un procedimiento recomendado es usar estos objetos en una instrucción using
para que los recursos no administrados se eliminen correctamente. La instrucción using
llama automáticamente a Dispose en el objeto cuando se ha completado el código que lo usa. El constructor usado en este ejemplo no se admite para su uso en aplicaciones de la Tienda Windows.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace StreamReadWrite
{
class Program
{
static void Main(string[] args)
{
// Get the directories currently on the C drive.
DirectoryInfo[] cDirs = new DirectoryInfo(@"c:\").GetDirectories();
// Write each directory name to a file.
using (StreamWriter sw = new StreamWriter("CDriveDirs.txt"))
{
foreach (DirectoryInfo dir in cDirs)
{
sw.WriteLine(dir.Name);
}
}
// Read and show each line from the file.
string line = "";
using (StreamReader sr = new StreamReader("CDriveDirs.txt"))
{
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
}
}
Imports System.IO
Class Program
Shared Sub Main()
' Get the directories currently on the C drive.
Dim cDirs As DirectoryInfo() = New DirectoryInfo("c:\").GetDirectories()
' Write each directory name to a file.
Using sw As StreamWriter = New StreamWriter("CDriveDirs.txt")
For Each Dir As DirectoryInfo In cDirs
sw.WriteLine(Dir.Name)
Next
End Using
'Read and show each line from the file.
Dim line As String = ""
Using sr As StreamReader = New StreamReader("CDriveDirs.txt")
Do
line = sr.ReadLine()
Console.WriteLine(line)
Loop Until line Is Nothing
End Using
End Sub
End Class
Comentarios
StreamWriter está diseñado para la salida de caracteres en una codificación determinada, mientras que las clases derivadas de Stream están diseñadas para la entrada y salida de bytes.
Importante
Este tipo implementa la interfaz IDisposable. Cuando haya terminado de usar el tipo, debe eliminarlo directa o indirectamente. Para eliminar el tipo directamente, llame a su método Dispose en un bloque try
/catch
. Para eliminarlo indirectamente, use una construcción de lenguaje como using
(en C#) o Using
(en Visual Basic). Para obtener más información, vea la sección "Using an Object that Implements IDisposable" (Usar un objeto que implementa IDisposable) en el tema IDisposable interfaz.
StreamWriter usa de forma predeterminada una instancia de UTF8Encoding a menos que se especifique lo contrario. Esta instancia de UTF8Encoding
se construye sin una marca de orden de bytes (BOM), por lo que su método GetPreamble devuelve una matriz de bytes vacía. La codificación UTF-8 predeterminada para este constructor produce una excepción en bytes no válidos. Este comportamiento es diferente del comportamiento proporcionado por el objeto de codificación en la propiedad Encoding.UTF8. Para especificar una lista de materiales y determinar si se produce una excepción en bytes no válidos, use un constructor que acepte un objeto de codificación como parámetro, como StreamWriter(String, Boolean, Encoding) o StreamWriter.
De forma predeterminada, un StreamWriter no es seguro para subprocesos. Consulte TextWriter.Synchronized para obtener un contenedor seguro para subprocesos.
Para obtener una lista de las tareas comunes de E/S, consulte Tareas de E/S comunes.
Constructores
StreamWriter(Stream) |
Inicializa una nueva instancia de la clase StreamWriter para la secuencia especificada mediante la codificación UTF-8 y el tamaño de búfer predeterminado. |
StreamWriter(Stream, Encoding) |
Inicializa una nueva instancia de la clase StreamWriter para la secuencia especificada mediante la codificación especificada y el tamaño de búfer predeterminado. |
StreamWriter(Stream, Encoding, Int32) |
Inicializa una nueva instancia de la clase StreamWriter para la secuencia especificada mediante la codificación y el tamaño de búfer especificados. |
StreamWriter(Stream, Encoding, Int32, Boolean) |
Inicializa una nueva instancia de la clase StreamWriter para la secuencia especificada mediante la codificación y el tamaño de búfer especificados y, opcionalmente, deja abierta la secuencia. |
StreamWriter(String) |
Inicializa una nueva instancia de la clase StreamWriter para el archivo especificado mediante la codificación predeterminada y el tamaño del búfer. |
StreamWriter(String, Boolean) |
Inicializa una nueva instancia de la clase StreamWriter para el archivo especificado mediante la codificación predeterminada y el tamaño del búfer. Si el archivo existe, se puede sobrescribir o anexar. Si el archivo no existe, este constructor crea un nuevo archivo. |
StreamWriter(String, Boolean, Encoding) |
Inicializa una nueva instancia de la clase StreamWriter para el archivo especificado mediante la codificación especificada y el tamaño de búfer predeterminado. Si el archivo existe, se puede sobrescribir o anexar. Si el archivo no existe, este constructor crea un nuevo archivo. |
StreamWriter(String, Boolean, Encoding, Int32) |
Inicializa una nueva instancia de la clase StreamWriter para el archivo especificado en la ruta de acceso especificada, utilizando la codificación y el tamaño de búfer especificados. Si el archivo existe, se puede sobrescribir o anexar. Si el archivo no existe, este constructor crea un nuevo archivo. |
StreamWriter(String, Encoding, FileStreamOptions) |
Inicializa una nueva instancia de la clase StreamWriter para el archivo especificado, utilizando la codificación especificada y configurada con el objeto FileStreamOptions especificado. |
StreamWriter(String, FileStreamOptions) |
Inicializa una nueva instancia de la clase StreamWriter para el archivo especificado, utilizando la codificación predeterminada y configurada con el objeto FileStreamOptions especificado. |
Campos
CoreNewLine |
Almacena los caracteres de nueva línea usados para este |
Null |
Proporciona un |
Propiedades
AutoFlush |
Obtiene o establece un valor que indica si el StreamWriter vaciará su búfer en la secuencia subyacente después de cada llamada a Write(Char). |
BaseStream |
Obtiene la secuencia subyacente que interactúa con un almacén de respaldo. |
Encoding |
Obtiene el Encoding en el que se escribe la salida. |
FormatProvider |
Obtiene un objeto que controla el formato. (Heredado de TextWriter) |
NewLine |
Obtiene o establece la cadena de terminador de línea usada por el |
Métodos
Close() |
Cierra el objeto |
Close() |
Cierra el escritor actual y libera los recursos del sistema asociados al escritor. (Heredado de TextWriter) |
CreateObjRef(Type) |
Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
Dispose() |
Libera todos los recursos utilizados por el objeto TextWriter. (Heredado de TextWriter) |
Dispose(Boolean) |
Hace que los datos almacenados en búfer se escriban en la secuencia subyacente, libera los recursos no administrados utilizados por el StreamWritery, opcionalmente, los recursos administrados. |
DisposeAsync() |
Escribe asincrónicamente los datos almacenados en búfer en la secuencia subyacente y libera los recursos no administrados utilizados por el StreamWriter. |
DisposeAsync() |
Libera de forma asincrónica todos los recursos utilizados por el objeto TextWriter. (Heredado de TextWriter) |
Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
Finalize() |
Libera los recursos del StreamWriter actual antes de que el recolector de elementos no utilizados lo recupere. |
Flush() |
Borra todos los búferes del escritor actual y hace que los datos almacenados en búfer se escriban en la secuencia subyacente. |
FlushAsync() |
Borra todos los búferes de esta secuencia de forma asincrónica y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente. |
FlushAsync() |
Borra de forma asincrónica todos los búferes del escritor actual y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente. (Heredado de TextWriter) |
FlushAsync(CancellationToken) |
Borra todos los búferes de esta secuencia de forma asincrónica y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente. |
FlushAsync(CancellationToken) |
Borra de forma asincrónica todos los búferes del escritor actual y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente. (Heredado de TextWriter) |
GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
GetLifetimeService() |
Obsoletos.
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
InitializeLifetimeService() |
Obsoletos.
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
MemberwiseClone(Boolean) |
Crea una copia superficial del objeto MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Write(Boolean) |
Escribe la representación de texto de un valor de |
Write(Char) |
Escribe un carácter en la secuencia. |
Write(Char[]) |
Escribe una matriz de caracteres en la secuencia. |
Write(Char[], Int32, Int32) |
Escribe una subbarra de caracteres en la secuencia. |
Write(Decimal) |
Escribe la representación de texto de un valor decimal en la secuencia de texto. (Heredado de TextWriter) |
Write(Double) |
Escribe la representación de texto de un valor de punto flotante de 8 bytes en la secuencia de texto. (Heredado de TextWriter) |
Write(Int32) |
Escribe la representación de texto de un entero con signo de 4 bytes en la secuencia de texto. (Heredado de TextWriter) |
Write(Int64) |
Escribe la representación de texto de un entero con signo de 8 bytes en la secuencia de texto. (Heredado de TextWriter) |
Write(Object) |
Escribe la representación de texto de un objeto en la secuencia de texto llamando al método |
Write(ReadOnlySpan<Char>) |
Escribe un intervalo de caracteres en la secuencia. |
Write(ReadOnlySpan<Char>) |
Escribe un intervalo de caracteres en la secuencia de texto. (Heredado de TextWriter) |
Write(Single) |
Escribe la representación de texto de un valor de punto flotante de 4 bytes en la secuencia de texto. (Heredado de TextWriter) |
Write(String) |
Escribe una cadena en la secuencia. |
Write(String, Object) |
Escribe una cadena con formato en la secuencia, utilizando la misma semántica que el método Format(String, Object). |
Write(String, Object) |
Escribe una cadena con formato en la secuencia de texto, utilizando la misma semántica que el método Format(String, Object). (Heredado de TextWriter) |
Write(String, Object, Object) |
Escribe una cadena con formato en la secuencia con la misma semántica que el método Format(String, Object, Object). |
Write(String, Object, Object) |
Escribe una cadena con formato en la secuencia de texto con la misma semántica que el método Format(String, Object, Object). (Heredado de TextWriter) |
Write(String, Object, Object, Object) |
Escribe una cadena con formato en la secuencia, utilizando la misma semántica que el método Format(String, Object, Object, Object). |
Write(String, Object, Object, Object) |
Escribe una cadena con formato en la secuencia de texto, utilizando la misma semántica que el método Format(String, Object, Object, Object). (Heredado de TextWriter) |
Write(String, Object[]) |
Escribe una cadena con formato en la secuencia, utilizando la misma semántica que el método Format(String, Object[]). |
Write(String, Object[]) |
Escribe una cadena con formato en la secuencia de texto, utilizando la misma semántica que el método Format(String, Object[]). (Heredado de TextWriter) |
Write(String, ReadOnlySpan<Object>) |
Escribe una cadena con formato en la secuencia, con la misma semántica que Format(String, ReadOnlySpan<Object>). |
Write(String, ReadOnlySpan<Object>) |
Escribe una cadena con formato en la secuencia de texto, con la misma semántica que Format(String, ReadOnlySpan<Object>). (Heredado de TextWriter) |
Write(StringBuilder) |
Escribe un generador de cadenas en la secuencia de texto. (Heredado de TextWriter) |
Write(UInt32) |
Escribe la representación de texto de un entero de 4 bytes sin signo en la secuencia de texto. (Heredado de TextWriter) |
Write(UInt64) |
Escribe la representación de texto de un entero de 8 bytes sin signo en la secuencia de texto. (Heredado de TextWriter) |
WriteAsync(Char) |
Escribe de forma asincrónica un carácter en la secuencia. |
WriteAsync(Char) |
Escribe un carácter en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteAsync(Char[]) |
Escribe una matriz de caracteres en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteAsync(Char[], Int32, Int32) |
Escribe asincrónicamente una subbarra de caracteres en la secuencia. |
WriteAsync(Char[], Int32, Int32) |
Escribe una subbarra de caracteres en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Escribe de forma asincrónica una región de memoria de caracteres en la secuencia. |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Escribe de forma asincrónica una región de memoria de caracteres en la secuencia de texto. (Heredado de TextWriter) |
WriteAsync(String) |
Escribe de forma asincrónica una cadena en la secuencia. |
WriteAsync(String) |
Escribe una cadena en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteAsync(StringBuilder, CancellationToken) |
Escribe de forma asincrónica un generador de cadenas en la secuencia de texto. (Heredado de TextWriter) |
WriteLine() |
Escribe un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(Boolean) |
Escribe la representación de texto de un valor de |
WriteLine(Char) |
Escribe un carácter en la secuencia de texto, seguido de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Char[]) |
Escribe una matriz de caracteres en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Char[], Int32, Int32) |
Escribe una subbarra de caracteres en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Decimal) |
Escribe la representación de texto de un valor decimal en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Double) |
Escribe la representación de texto de un valor de punto flotante de 8 bytes en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Int32) |
Escribe la representación de texto de un entero con signo de 4 bytes en la secuencia de texto, seguido de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Int64) |
Escribe la representación de texto de un entero con signo de 8 bytes en la secuencia de texto, seguido de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Object) |
Escribe la representación de texto de un objeto en la secuencia de texto llamando al método |
WriteLine(ReadOnlySpan<Char>) |
Escribe la representación de texto de un intervalo de caracteres en la secuencia, seguida de un terminador de línea. |
WriteLine(ReadOnlySpan<Char>) |
Escribe la representación de texto de un intervalo de caracteres en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Single) |
Escribe la representación de texto de un valor de punto flotante de 4 bytes en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(String) |
Escribe una cadena en la secuencia, seguida de un terminador de línea. |
WriteLine(String) |
Escribe una cadena en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(String, Object) |
Escribe una cadena con formato y una nueva línea en la secuencia, utilizando la misma semántica que el método Format(String, Object). |
WriteLine(String, Object) |
Escribe una cadena con formato y una nueva línea en la secuencia de texto, utilizando la misma semántica que el método Format(String, Object). (Heredado de TextWriter) |
WriteLine(String, Object, Object) |
Escribe una cadena con formato y una nueva línea en la secuencia, utilizando la misma semántica que el método Format(String, Object, Object). |
WriteLine(String, Object, Object) |
Escribe una cadena con formato y una nueva línea en la secuencia de texto, utilizando la misma semántica que el método Format(String, Object, Object). (Heredado de TextWriter) |
WriteLine(String, Object, Object, Object) |
Escribe una cadena con formato y una nueva línea en la secuencia, con la misma semántica que Format(String, Object). |
WriteLine(String, Object, Object, Object) |
Escribe una cadena con formato y una nueva línea en la secuencia de texto, con la misma semántica que Format(String, Object). (Heredado de TextWriter) |
WriteLine(String, Object[]) |
Escribe una cadena con formato y una nueva línea en la secuencia, con la misma semántica que Format(String, Object). |
WriteLine(String, Object[]) |
Escribe una cadena con formato y una nueva línea en la secuencia de texto, con la misma semántica que Format(String, Object). (Heredado de TextWriter) |
WriteLine(String, ReadOnlySpan<Object>) |
Escribe una cadena con formato y una nueva línea en la secuencia, con la misma semántica que Format(String, ReadOnlySpan<Object>). |
WriteLine(String, ReadOnlySpan<Object>) |
Escribe una cadena con formato y una nueva línea en la secuencia de texto, con la misma semántica que Format(String, ReadOnlySpan<Object>). (Heredado de TextWriter) |
WriteLine(StringBuilder) |
Escribe la representación de texto de un generador de cadenas en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(UInt32) |
Escribe la representación de texto de un entero de 4 bytes sin signo en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(UInt64) |
Escribe la representación de texto de un entero de 8 bytes sin signo en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLineAsync() |
Escribe de forma asincrónica un terminador de línea en la secuencia. |
WriteLineAsync() |
Escribe de forma asincrónica un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLineAsync(Char) |
Escribe de forma asincrónica un carácter en la secuencia, seguido de un terminador de línea. |
WriteLineAsync(Char) |
Escribe de forma asincrónica un carácter en la secuencia de texto, seguido de un terminador de línea. (Heredado de TextWriter) |
WriteLineAsync(Char[]) |
Escribe de forma asincrónica una matriz de caracteres en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLineAsync(Char[], Int32, Int32) |
Escribe de forma asincrónica una subbarray de caracteres en la secuencia, seguida de un terminador de línea. |
WriteLineAsync(Char[], Int32, Int32) |
Escribe de forma asincrónica una subbarray de caracteres en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Escribe de forma asincrónica la representación de texto de una región de memoria de caracteres en la secuencia, seguida de un terminador de línea. |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Escribe de forma asincrónica la representación de texto de una región de memoria de caracteres en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLineAsync(String) |
Escribe de forma asincrónica una cadena en la secuencia, seguida de un terminador de línea. |
WriteLineAsync(String) |
Escribe de forma asincrónica una cadena en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLineAsync(StringBuilder, CancellationToken) |
Escribe de forma asincrónica la representación de texto de un generador de cadenas en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
Implementaciones de interfaz explícitas
IDisposable.Dispose() |
Para obtener una descripción de este miembro, consulte Dispose(). (Heredado de TextWriter) |
Métodos de extensión
ConfigureAwait(IAsyncDisposable, Boolean) |
Configura cómo se realizarán las esperas en las tareas devueltas desde un descartable asincrónico. |
Se aplica a
Consulte también
- Stream
- StreamReader
- Encoder
- Encoding
- de E/S de flujo y archivos
- Cómo: Leer texto de un de archivos
- Cómo: Escribir texto en un archivo
- Cómo: Leer y escribir en un archivo de datos recién creado