StreamWriter Clase

Definición

Implementa TextWriter para escribir los caracteres de una secuencia en una codificación determinada.Implements a TextWriter for writing characters to a stream in a particular encoding.

public ref class StreamWriter : System::IO::TextWriter
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class StreamWriter : System.IO.TextWriter
type StreamWriter = class
    inherit TextWriter
Public Class StreamWriter
Inherits TextWriter
Herencia
Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo utilizar StreamWriter un objeto para escribir un archivo que enumera los directorios de la unidad C y, a continuación StreamReader , usa un objeto para leer y mostrar cada nombre de directorio.The following example shows how to use a StreamWriter object to write a file that lists the directories on the C drive, and then uses a StreamReader object to read and display each directory name. Una buena práctica es usar estos objetos en una using instrucción para que los recursos no administrados se eliminen correctamente.A good practice is to use these objects in a using statement so that the unmanaged resources are correctly disposed. La using instrucción llama Dispose automáticamente a en el objeto cuando se ha completado el código que lo está utilizando.The using statement automatically calls Dispose on the object when the code that is using it has completed. El constructor que se usa en este ejemplo no se admite para Tienda WindowsWindows Store su uso en aplicaciones de la.The constructor used in this example is not supported for use in Tienda WindowsWindows 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

StreamWriterestá diseñado para la salida de caracteres en una codificación determinada, mientras que las Stream clases derivadas de están diseñadas para la entrada y salida de bytes.StreamWriter is designed for character output in a particular encoding, whereas classes derived from Stream are designed for byte input and output.

Importante

Este tipo implementa la interfaz IDisposable.This type implements the IDisposable interface. Cuando haya terminado de utilizar el tipo, debe desecharlo directa o indirectamente.When you have finished using the type, you should dispose of it either directly or indirectly. Para eliminar el tipo directamente, llame a su método Dispose en un bloque try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Para deshacerse de él indirectamente, use una construcción de lenguaje como using (en C#) o Using (en Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Para más información, vea la sección "Uso de objetos que implementan IDisposable" en el tema de la interfaz IDisposable.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

StreamWritertiene como valor predeterminado el uso de UTF8Encoding una instancia de, a menos que se especifique lo contrario.StreamWriter defaults to using an instance of UTF8Encoding unless specified otherwise. Esta instancia de UTF8Encoding se construye sin una marca de orden de bytes (BOM) GetPreamble , por lo que su método devuelve una matriz de bytes vacía.This instance of UTF8Encoding is constructed without a byte order mark (BOM), so its GetPreamble method returns an empty byte array. La codificación UTF-8 predeterminada para este constructor produce una excepción en bytes no válidos.The default UTF-8 encoding for this constructor throws an exception on invalid bytes. Este comportamiento es diferente del comportamiento proporcionado por el objeto de codificación en la Encoding.UTF8 propiedad.This behavior is different from the behavior provided by the encoding object in the Encoding.UTF8 property. Para especificar una marca Bom y determinar si se produce una excepción en bytes no válidos, utilice un constructor que acepte un objeto de codificación como parámetro, StreamWriter(String, Boolean, Encoding) como StreamWritero.To specify a BOM and determine whether an exception is thrown on invalid bytes, use a constructor that accepts an encoding object as a parameter, such as StreamWriter(String, Boolean, Encoding) or StreamWriter.

De forma predeterminada, StreamWriter un no es seguro para subprocesos.By default, a StreamWriter is not thread safe. Vea TextWriter.Synchronized para obtener un contenedor seguro para subprocesos.See TextWriter.Synchronized for a thread-safe wrapper.

Para obtener una lista de tareas de e/s comunes, consulte tareas comunes de e/s.For a list of common I/O tasks, see Common I/O Tasks.

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.Initializes a new instance of the StreamWriter class for the specified stream by using UTF-8 encoding and the default buffer size.

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.Initializes a new instance of the StreamWriter class for the specified stream by using the specified encoding and the default buffer size.

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.Initializes a new instance of the StreamWriter class for the specified stream by using the specified encoding and buffer size.

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.Initializes a new instance of the StreamWriter class for the specified stream by using the specified encoding and buffer size, and optionally leaves the stream open.

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.Initializes a new instance of the StreamWriter class for the specified file by using the default encoding and buffer size.

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.Initializes a new instance of the StreamWriter class for the specified file by using the default encoding and buffer size. Si el archivo ya existe, es posible sobrescribir o anexar datos al mismo.If the file exists, it can be either overwritten or appended to. Si el archivo no existe, este constructor crea uno nuevo.If the file does not exist, this constructor creates a new file.

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.Initializes a new instance of the StreamWriter class for the specified file by using the specified encoding and default buffer size. Si el archivo ya existe, es posible sobrescribir o anexar datos al mismo.If the file exists, it can be either overwritten or appended to. Si el archivo no existe, este constructor crea uno nuevo.If the file does not exist, this constructor creates a new file.

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.Initializes a new instance of the StreamWriter class for the specified file on the specified path, using the specified encoding and buffer size. Si el archivo ya existe, es posible sobrescribir o anexar datos al mismo.If the file exists, it can be either overwritten or appended to. Si el archivo no existe, este constructor crea uno nuevo.If the file does not exist, this constructor creates a new file.

Campos

CoreNewLine

Almacena los caracteres de nueva línea usados para el TextWriter.Stores the newline characters used for this TextWriter.

(Heredado de TextWriter)
Null

Proporciona un StreamWriter sin memoria auxiliar, en el que se puede escribir pero no se puede leer.Provides a StreamWriter with no backing store that can be written to, but not read from.

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).Gets or sets a value indicating whether the StreamWriter will flush its buffer to the underlying stream after every call to Write(Char).

BaseStream

Obtiene la secuencia subyacente que interactúa con una memoria auxiliar.Gets the underlying stream that interfaces with a backing store.

Encoding

Obtiene el Encoding donde se escribe el resultado.Gets the Encoding in which the output is written.

FormatProvider

Obtiene un objeto que controla las operaciones de formato.Gets an object that controls formatting.

(Heredado de TextWriter)
NewLine

Obtiene o establece la cadena de terminador de línea usada por el TextWriter actual.Gets or sets the line terminator string used by the current TextWriter.

(Heredado de TextWriter)

Métodos

Close()

Cierra el actual objeto StreamWriter y la secuencia subyacente.Closes the current StreamWriter object and the underlying stream.

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos utilizados por el objeto TextWriter.Releases all resources used by the TextWriter object.

(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.Causes any buffered data to be written to the underlying stream, releases the unmanaged resources used by the StreamWriter, and optionally the managed resources.

DisposeAsync()

Escribe asincrónicamente cualquier dato almacenado en búfer en la secuencia subyacente y libera los recursos no administrados que usa StreamWriter.Asynchronously writes any buffered data to the underlying stream and releases the unmanaged resources used by the StreamWriter.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
Finalize()

Libera los recursos del StreamWriter actual antes de que lo reclame el recolector de elementos no utilizados.Frees the resources of the current StreamWriter before it is reclaimed by the garbage collector.

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.Clears all buffers for the current writer and causes any buffered data to be written to the underlying stream.

FlushAsync()

Borra todos los búferes para este flujo de forma asincrónica y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente.Clears all buffers for this stream asynchronously and causes any buffered data to be written to the underlying device.

GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
InitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Heredado de MarshalByRefObject)
ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
Write(Boolean)

Escribe la representación de texto de un valor Boolean en la secuencia de texto.Writes the text representation of a Boolean value to the text stream.

(Heredado de TextWriter)
Write(Char)

Escribe un carácter en la secuencia.Writes a character to the stream.

Write(Char[])

Escribe una matriz de caracteres en la secuencia.Writes a character array to the stream.

Write(Char[], Int32, Int32)

Escribe una submatriz de caracteres en la secuencia.Writes a subarray of characters to the stream.

Write(Decimal)

Escribe la representación de texto de un valor decimal en la secuencia de texto.Writes the text representation of a decimal value to the text stream.

(Heredado de TextWriter)
Write(Double)

Escribe la representación de texto de un punto flotante de 8 bytes en la secuencia de texto.Writes the text representation of an 8-byte floating-point value to the text stream.

(Heredado de TextWriter)
Write(Int32)

Escribe la representación de texto de un entero con signo de 4 bytes en la secuencia de texto.Writes the text representation of a 4-byte signed integer to the text stream.

(Heredado de TextWriter)
Write(Int64)

Escribe la representación de texto de un entero con signo de 8 bytes en la secuencia de texto.Writes the text representation of an 8-byte signed integer to the text stream.

(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.Writes the text representation of an object to the text stream by calling the ToString method on that object.

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

Escribe un intervalo de caracteres en la secuencia.Writes a character span to the stream.

Write(Single)

Escribe la representación de texto de un valor de punto flotante de 4 bytes en la secuencia de texto.Writes the text representation of a 4-byte floating-point value to the text stream.

(Heredado de TextWriter)
Write(String)

Escribe una cadena en la secuencia.Writes a string to the stream.

Write(String, Object)

Escribe una cadena con formato en la secuencia, con la misma semántica que el método de Format(String, Object).Writes a formatted string to the stream, using the same semantics as the Format(String, Object) method.

Write(String, Object, Object)

Escribe una cadena con formato en la secuencia, con la misma semántica que el método de Format(String, Object, Object).Writes a formatted string to the stream using the same semantics as the Format(String, Object, Object) method..

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).Writes a formatted string to the stream, using the same semantics as the Format(String, Object, Object, Object) method.

Write(String, Object[])

Escribe una cadena con formato en la secuencia, con la misma semántica que el método de Format(String, Object[]).Writes a formatted string to the stream, using the same semantics as the Format(String, Object[]) method.

Write(StringBuilder)

Escribe un generador de cadenas en la secuencia de texto.Writes a string builder to the text stream.

(Heredado de TextWriter)
Write(UInt32)

Escribe la representación de texto de un entero sin signo de 4 bytes en la secuencia de texto.Writes the text representation of a 4-byte unsigned integer to the text stream.

(Heredado de TextWriter)
Write(UInt64)

Escribe la representación de texto de un entero sin signo de 8 bytes en la secuencia de texto.Writes the text representation of an 8-byte unsigned integer to the text stream.

(Heredado de TextWriter)
WriteAsync(Char)

Escribe de forma asincrónica un carácter en la secuencia.Asynchronously writes a character to the stream.

WriteAsync(Char[])

Escribe una matriz de caracteres en la secuencia de texto de forma asincrónica.Writes a character array to the text stream asynchronously.

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

Escribe de forma asincrónica una submatriz de caracteres en la secuencia.Asynchronously writes a subarray of characters to the stream.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Escribe de forma asincrónica una región de memoria de caracteres en la secuencia.Asynchronously writes a character memory region to the stream.

WriteAsync(String)

Escribe de forma asincrónica una cadena en la secuencia.Asynchronously writes a string to the stream.

WriteAsync(StringBuilder, CancellationToken)

Escribe un generador de cadenas en la secuencia de texto de forma asincrónica.Asynchronously writes a string builder to the text stream.

(Heredado de TextWriter)
WriteLine()

Escribe un terminador de línea en la secuencia de texto.Writes a line terminator to the text stream.

(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.Writes the text representation of a Boolean value to the text stream, followed by a line terminator.

(Heredado de TextWriter)
WriteLine(Char)

Escribe un carácter seguido de un terminador de línea en la secuencia de texto.Writes a character to the text stream, followed by a line terminator.

(Heredado de TextWriter)
WriteLine(Char[])

Escribe una matriz de caracteres seguida de un terminador de línea en la secuencia de texto.Writes an array of characters to the text stream, followed by a line terminator.

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

Escribe una submatriz de caracteres seguida de un terminador de línea en la secuencia de texto.Writes a subarray of characters to the text stream, followed by a line terminator.

(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.Writes the text representation of a decimal value to the text stream, followed by a line terminator.

(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.Writes the text representation of a 8-byte floating-point value to the text stream, followed by a line terminator.

(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.Writes the text representation of a 4-byte signed integer to the text stream, followed by a line terminator.

(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.Writes the text representation of an 8-byte signed integer to the text stream, followed by a line terminator.

(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.Writes the text representation of an object to the text stream, by calling the ToString method on that object, followed by a line terminator.

(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.Writes the text representation of a character span to the stream, followed by a line terminator.

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.Writes the text representation of a 4-byte floating-point value to the text stream, followed by a line terminator.

(Heredado de TextWriter)
WriteLine(String)

Escribe una cadena en la secuencia, seguida de un terminador de línea.Writes a string to the stream, followed by a line terminator.

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).Writes a formatted string and a new line to the stream, using the same semantics as the Format(String, Object) method.

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).Writes a formatted string and a new line to the stream, using the same semantics as the Format(String, Object, Object) method.

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).Writes out a formatted string and a new line to the stream, using the same semantics as Format(String, Object).

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).Writes out a formatted string and a new line to the stream, using the same semantics as Format(String, Object).

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.Writes the text representation of a string builder to the text stream, followed by a line terminator.

(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.Writes the text representation of a 4-byte unsigned integer to the text stream, followed by a line terminator.

(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.Writes the text representation of an 8-byte unsigned integer to the text stream, followed by a line terminator.

(Heredado de TextWriter)
WriteLineAsync()

Escribe de forma asincrónica un terminador de línea en la secuencia.Asynchronously writes a line terminator to the stream.

WriteLineAsync(Char)

Escribe de forma asincrónica un carácter en la secuencia, seguido de un terminador de línea.Asynchronously writes a character to the stream, followed by a line terminator.

WriteLineAsync(Char[])

Escribe una matriz de caracteres seguida de un terminador de línea en la secuencia de texto de forma asincrónica.Asynchronously writes an array of characters to the text stream, followed by a line terminator.

(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.Asynchronously writes a subarray of characters to the stream, followed by a line terminator.

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.Asynchronously writes the text representation of a character memory region to the stream, followed by a line terminator.

WriteLineAsync(String)

Escribe de forma asincrónica una cadena en la secuencia, seguida de un terminador de línea.Asynchronously writes a string to the stream, followed by a line terminator.

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.Asynchronously writes the text representation of a string builder to the text stream, followed by a line terminator.

(Heredado de TextWriter)

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Para una descripción de este miembro, vea Dispose().For a description of this member, see Dispose().

(Heredado de TextWriter)

Se aplica a

Consulte también: