StreamWriter Clase

Definición

Implementa TextWriter para escribir los caracteres de 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
StreamWriter
Herencia
Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo usar un StreamWriter objeto para escribir un archivo que enumera los directorios en la unidad C y, a continuación, usa un StreamReader objeto para leer y mostrar cada nombre de directorio. Un procedimiento recomendado es usar estos objetos en una using instrucción para que los recursos no administrados se eliminen correctamente. La using instrucción llama Dispose automáticamente al 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 utilizar el tipo, debe desecharlo directa o indirectamente. Para eliminar el tipo directamente, llame a su método Dispose en un bloque try/catch. Para deshacerse de él indirectamente, use una construcción de lenguaje como using (en C#) o Using (en Visual Basic). Para más información, vea la sección "Uso de objetos que implementan IDisposable" en el tema de la interfaz IDisposable.

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 GetPreamble método 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 Encoding.UTF8 propiedad . 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 de E/S comunes, consulte Tareas de E/S comunes.

Constructores

StreamWriter(Stream)

Inicializa una nueva instancia de la clase StreamWriter para la secuencia especificada usando 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 usando 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 usando 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 usando la codificación y 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 usando la codificación y tamaño de búfer especificados.

StreamWriter(String, Boolean)

Inicializa una nueva instancia de la clase StreamWriter para el archivo especificado usando la codificación y tamaño de búfer especificados. Si el archivo ya existe, es posible sobrescribirlo o anexarle datos. Si el archivo no existe, este constructor crea uno nuevo.

StreamWriter(String, Boolean, Encoding)

Inicializa una nueva instancia de la clase StreamWriter para el archivo especificado usando la codificación especificada y tamaño de búfer predeterminado. Si el archivo ya existe, es posible sobrescribirlo o anexarle datos. Si el archivo no existe, este constructor crea uno nuevo.

StreamWriter(String, Boolean, Encoding, Int32)

Inicializa una nueva instancia de la clase StreamWriter para el archivo especificado en la ruta de acceso especificada, con la codificación y el tamaño de búfer especificados. Si el archivo ya existe, es posible sobrescribirlo o anexarle datos. Si el archivo no existe, este constructor crea uno nuevo.

StreamWriter(String, Encoding, FileStreamOptions)

Inicializa una nueva instancia de la StreamWriter clase para el archivo especificado, utilizando la codificación especificada y configurada con el objeto especificado FileStreamOptions .

StreamWriter(String, FileStreamOptions)

Inicializa una nueva instancia de la StreamWriter clase para el archivo especificado, utilizando la codificación predeterminada y configurada con el objeto especificado FileStreamOptions .

Campos

CoreNewLine

Almacena los caracteres de nueva línea usados para el TextWriter.

(Heredado de TextWriter)
Null

Proporciona un StreamWriter sin memoria auxiliar, en el que se puede escribir pero no se puede leer.

Propiedades

AutoFlush

Obtiene o establece un valor que indica si 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 una memoria auxiliar.

Encoding

Obtiene el Encoding donde se escribe el resultado.

FormatProvider

Obtiene un objeto que controla las operaciones de formato.

(Heredado de TextWriter)
NewLine

Obtiene o establece la cadena de terminador de línea usada por el TextWriter actual.

(Heredado de TextWriter)

Métodos

Close()

Cierra el actual objeto StreamWriter y la secuencia subyacente.

Close()

Cierra el sistema de escritura actual y libera todos los recursos del sistema asociados al sistema de escritura.

(Heredado de TextWriter)
CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado 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 en búfer se escriban en la secuencia subyacente, libera los recursos no administrados que usa StreamWriter y, de forma opcional, los recursos administrados.

DisposeAsync()

Escribe asincrónicamente cualquier dato almacenado en búfer en la secuencia subyacente y libera los recursos no administrados que usa StreamWriter.

DisposeAsync()

Libera de forma asincrónica todos los recursos que usa el objeto TextWriter.

(Heredado de TextWriter)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Finalize()

Libera los recursos del StreamWriter actual antes de que lo reclame el recolector de elementos no utilizados.

Flush()

Borra todos los búferes del sistema de escritura actual y hace que todos los datos almacenados en el búfer se escriban en la secuencia subyacente.

FlushAsync()

Borra todos los búferes para esta secuencia de forma asincrónica y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente.

FlushAsync()

Borra asincrónicamente todos los búferes del sistema de escritura actual y hace que todos los datos almacenados en el búfer se escriban en el dispositivo subyacente.

(Heredado de TextWriter)
FlushAsync(CancellationToken)

Borra todos los búferes para esta secuencia de forma asincrónica y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente.

FlushAsync(CancellationToken)

Borra asincrónicamente todos los búferes del sistema de escritura actual y hace que todos los datos almacenados en el búfer se escriban en el dispositivo subyacente.

(Heredado de TextWriter)
GetHashCode()

Sirve como la 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 Object actual.

(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 Boolean en la secuencia de texto.

(Heredado de TextWriter)
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 submatriz 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 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 mediante una llamada al método ToString en ese objeto.

(Heredado de TextWriter)
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, con la misma semántica que el método de Format(String, Object).

Write(String, Object)

Escribe una cadena con formato en la secuencia de texto con 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 Format(String, Object, Object) método .

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, con la misma semántica que el método de Format(String, Object, Object, Object).

Write(String, Object, 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, Object).

(Heredado de TextWriter)
Write(String, Object[])

Escribe una cadena con formato en la secuencia, con la misma semántica que el método de Format(String, Object[]).

Write(String, Object[])

Escribe una cadena con formato en la secuencia de texto con la misma semántica que el método Format(String, 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 sin signo de 4 bytes en la secuencia de texto.

(Heredado de TextWriter)
Write(UInt64)

Escribe la representación de texto de un entero sin signo de 8 bytes 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 de forma asincrónica una submatriz de caracteres en la secuencia.

WriteAsync(Char[], Int32, Int32)

Escribe una submatriz 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 una región de la memoria de caracteres en la secuencia de texto de forma asincrónica.

(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 un generador de cadenas en la secuencia de texto de forma asincrónica.

(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 Boolean seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(Char)

Escribe un carácter seguido de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(Char[])

Escribe una matriz de caracteres seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(Char[], Int32, Int32)

Escribe una submatriz de caracteres seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(Decimal)

Escribe la representación de texto de un valor decimal seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(Double)

Escribe la representación de texto de un valor de punto flotante de 8 bytes seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(Int32)

Escribe la representación de texto de un entero con signo de 4 bytes seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(Int64)

Escribe la representación de texto de un entero con signo de 8 bytes seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(Object)

Escribe la representación de texto de un objeto mediante una llamada al método ToString en ese objeto, seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(ReadOnlySpan<Char>)

Escribe la representación en forma 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 seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(Single)

Escribe la representación de texto de un valor de punto flotante de 4 bytes seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(String)

Escribe una cadena en la secuencia, seguida de un terminador de línea.

WriteLine(String)

Escribe una cadena seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(String, Object)

Escribe una cadena con formato y una línea nueva en la secuencia, con la misma semántica que el método de 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 el método Format(String, Object).

(Heredado de TextWriter)
WriteLine(String, Object, Object)

Escribe una cadena con formato y una línea nueva en la secuencia, con la misma semántica que el método de Format(String, Object, Object).

WriteLine(String, Object, Object)

Escribe una cadena con formato y una nueva línea en la secuencia de texto con 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 línea nueva en la secuencia, con la misma semántica que Format(String, Object).

WriteLine(String, Object, Object, Object)

Escribe una cadena con formato y una línea nueva 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 línea nueva en la secuencia, con la misma semántica que Format(String, Object).

WriteLine(String, Object[])

Escribe una cadena con formato y una línea nueva en la secuencia de texto con la misma semántica que Format(String, Object).

(Heredado de TextWriter)
WriteLine(StringBuilder)

Escribe la representación de texto de un generador de cadenas seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(UInt32)

Escribe la representación de texto de un entero sin signo de 4 bytes seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLine(UInt64)

Escribe la representación de texto de un entero sin signo de 8 bytes seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
WriteLineAsync()

Escribe de forma asincrónica un terminador de línea en la secuencia.

WriteLineAsync()

Escribe un terminador de línea en la secuencia de texto de forma asincrónica.

(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 un carácter seguido de un terminador de línea en la secuencia de texto de forma asincrónica.

(Heredado de TextWriter)
WriteLineAsync(Char[])

Escribe una matriz de caracteres seguida de un terminador de línea en la secuencia de texto de forma asincrónica.

(Heredado de TextWriter)
WriteLineAsync(Char[], Int32, Int32)

Escribe de forma asincrónica una submatriz de caracteres en la secuencia, seguida de un terminador de línea.

WriteLineAsync(Char[], Int32, Int32)

Escribe una submatriz de caracteres seguida de un terminador de línea en la secuencia de texto de forma asincrónica.

(Heredado de TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Escribe de forma asincrónica la representación en forma 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 la representación de texto de una región de memoria de caracteres seguida de un terminador de línea en la secuencia de texto de forma asincrónica.

(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 una cadena seguida de un terminador de línea en la secuencia de texto de forma asincrónica.

(Heredado de TextWriter)
WriteLineAsync(StringBuilder, CancellationToken)

Escribe la representación de texto de un generador de cadenas seguida de un terminador de línea en la secuencia de texto de forma asincrónica.

(Heredado de TextWriter)

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Para obtener una descripción de este miembro, vea Dispose().

(Heredado de TextWriter)

Métodos de extensión

ConfigureAwait(IAsyncDisposable, Boolean)

Configura la forma en la que se realizan las expresiones await en las tareas devueltas desde un elemento asincrónico descartable.

Se aplica a

Consulte también