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 objeto para escribir un archivo que enumera los directorios de la unidad C y, a continuación, usa un objeto para leer y mostrar cada nombre StreamWriter StreamReader de directorio. Un procedimiento recomendado es usar estos objetos en una instrucción para que los recursos no using administrados se desechan correctamente. La instrucción llama automáticamente al objeto cuando se ha completado el código using Dispose que lo usa. El constructor utilizado en este ejemplo no se admite para su uso en Windows Store Apps.

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 están diseñadas para la entrada y salida Stream 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 el valor predeterminado es usar una instancia de a UTF8Encoding menos que se especifique lo contrario. Esta instancia de se construye sin una marca de orden de bytes (BOM), por lo que UTF8Encoding su método devuelve una GetPreamble 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 BOM 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, no StreamWriter es seguro para subprocesos. Consulte TextWriter.Synchronized para ver un contenedor seguro para subprocesos.

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

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 clase para el archivo especificado, utilizando la codificación especificada y configurada StreamWriter con el objeto FileStreamOptions especificado.

StreamWriter(String, FileStreamOptions)

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

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)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoleto.

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()
Obsoleto.

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