Compartir a través de


StreamWriter Clase

Definición

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
StreamWriter
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 TextWriter.

(Heredado de TextWriter)
Null

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

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 TextWriteractual.

(Heredado de TextWriter)

Métodos

Close()

Cierra el objeto StreamWriter actual y la secuencia subyacente.

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

(Heredado de TextWriter)
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 ToString en ese objeto, seguido de un terminador de línea.

(Heredado de TextWriter)
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