StreamWriter Classe

Definição

Implementa um TextWriter para gravar caracteres em um fluxo em uma codificação específica.

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
Herança
StreamWriter
Herança
Atributos

Exemplos

O exemplo a seguir mostra como usar um StreamWriter objeto para gravar um arquivo que lista os diretórios na unidade C e, em seguida, usa um StreamReader objeto para ler e exibir cada nome de diretório. Uma boa prática é usar esses objetos em uma using instrução para que os recursos não gerenciados sejam descartados corretamente. A using instrução chama Dispose automaticamente no objeto quando o código que o está usando é concluído. O construtor usado neste exemplo não tem suporte para uso nos Aplicativos da Windows Store.

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

Comentários

StreamWriter foi projetado para a saída de caracteres em uma codificação específica, enquanto as classes derivadas de Stream são projetadas para entrada e saída de bytes.

Importante

Esse tipo implementa a interface IDisposable. Quando você terminar de usar o tipo, deverá descartá-lo direta ou indiretamente. Para descartar o tipo diretamente, chame o método Dispose dele em um bloco try/catch. Para descartá-lo indiretamente, use um constructo de linguagem como using ( em C#) ou Using (em Visual Basic). Saiba mais na seção "Como usar um objeto que implementa IDisposable" no tópico da interface IDisposable.

StreamWriter usa como padrão o uso de uma instância de UTF8Encoding , a menos que especificado de outra forma. Essa instância de UTF8Encoding é construída sem uma BOM (marca de ordem de byte), portanto, seu GetPreamble método retorna uma matriz de bytes vazia. A codificação UTF-8 padrão para esse construtor gera uma exceção em bytes inválidos. Esse comportamento é diferente do comportamento fornecido pelo objeto de codificação na Encoding.UTF8 propriedade . Para especificar uma BOM e determinar se uma exceção é gerada em bytes inválidos, use um construtor que aceite um objeto de codificação como um parâmetro, como StreamWriter(String, Boolean, Encoding) ou StreamWriter.

Por padrão, um StreamWriter não é thread-safe. Consulte TextWriter.Synchronized para obter um wrapper thread-safe.

Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.

Construtores

StreamWriter(Stream)

Inicializa uma nova instância da classe StreamWriter para o fluxo especificado usando a codificação UTF-8 e o tamanho do buffer padrão.

StreamWriter(Stream, Encoding)

Inicializa uma nova instância da classe StreamWriter para o fluxo especificado usando a codificação especificada e o tamanho do buffer padrão.

StreamWriter(Stream, Encoding, Int32)

Inicializa uma nova instância da classe StreamWriter para o fluxo especificado usando o tamanho do buffer e a codificação especificados.

StreamWriter(Stream, Encoding, Int32, Boolean)

Inicializa uma nova instância da classe StreamWriter para o fluxo especificado usando o tamanho do buffer e a codificação especificados e opcionalmente deixa o fluxo aberto.

StreamWriter(String)

Inicializa uma nova instância da classe StreamWriter para o arquivo especificado usando o tamanho do buffer e a codificação padrão.

StreamWriter(String, Boolean)

Inicializa uma nova instância da classe StreamWriter para o arquivo especificado usando o tamanho do buffer e a codificação padrão. Se o arquivo existir, ele poderá ser substituído ou dados poderão ser acrescentados a ele. Se o arquivo não existir, esse construtor criará um novo arquivo.

StreamWriter(String, Boolean, Encoding)

Inicializa uma nova instância da classe StreamWriter para o arquivo especificado usando a codificação especificada e o tamanho do buffer padrão. Se o arquivo existir, ele poderá ser substituído ou dados poderão ser acrescentados a ele. Se o arquivo não existir, esse construtor criará um novo arquivo.

StreamWriter(String, Boolean, Encoding, Int32)

Inicializa uma nova instância da classe StreamWriter para o arquivo especificado no caminho especificado usando a codificação especificada e o tamanho do buffer. Se o arquivo existir, ele poderá ser substituído ou dados poderão ser acrescentados a ele. Se o arquivo não existir, esse construtor criará um novo arquivo.

StreamWriter(String, Encoding, FileStreamOptions)

Inicializa uma nova instância da StreamWriter classe para o arquivo especificado, usando a codificação especificada e configurada com o objeto especificado FileStreamOptions .

StreamWriter(String, FileStreamOptions)

Inicializa uma nova instância da StreamWriter classe para o arquivo especificado, usando a codificação padrão e configurada com o objeto especificado FileStreamOptions .

Campos

CoreNewLine

Armazena os caracteres de nova linha usados para esse TextWriter.

(Herdado de TextWriter)
Null

Fornece um StreamWriter sem nenhum repositório de backup que pode ser gravado, mas não lido.

Propriedades

AutoFlush

Obtém ou define um valor que indica se o StreamWriter liberará o buffer para o fluxo subjacente após toda a chamada para Write(Char).

BaseStream

Obtém o fluxo subjacente que faz interface com um repositório de backup.

Encoding

Obtém o Encoding no qual a saída é gravada.

FormatProvider

Obtém um objeto que controla a formatação.

(Herdado de TextWriter)
NewLine

Obtém ou define a cadeia de caracteres de terminador de linha usada pelo TextWriter atual.

(Herdado de TextWriter)

Métodos

Close()

Fecha o atual objeto StreamWriter e o fluxo subjacente.

Close()

Fecha o gravador atual e libera os recursos de sistema associados ao gravador.

(Herdado de TextWriter)
CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Libera todos os recursos usados pelo objeto TextWriter.

(Herdado de TextWriter)
Dispose(Boolean)

Faz com que qualquer dado em buffer seja gravado no fluxo subjacente, libera os recursos não gerenciados usados pelo StreamWriter e, opcionalmente, os recursos gerenciados.

DisposeAsync()

Grava de forma assíncrona os dados armazenados em buffer no fluxo subjacente e libera os recursos não gerenciados usados pelo StreamWriter.

DisposeAsync()

Libera de forma assíncrona todos os recursos usados pelo objeto TextWriter.

(Herdado de TextWriter)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Libera os recursos do StreamWriter atual antes que ele seja recuperado pelo coletor de lixo.

Flush()

Limpa todos os buffers para o gravador atual e faz com que todos os dados armazenados em buffer sejam gravados no fluxo subjacente.

FlushAsync()

Limpa todos os buffers de forma assíncrona para esse fluxo e faz com que os dados armazenados em buffer sejam gravados no dispositivo subjacente.

FlushAsync()

Limpa, de maneira assíncrona, todos os buffers do gravador atual e faz com que todos os dados armazenados em buffer sejam gravados no dispositivo subjacente.

(Herdado de TextWriter)
FlushAsync(CancellationToken)

Limpa todos os buffers de forma assíncrona para esse fluxo e faz com que os dados armazenados em buffer sejam gravados no dispositivo subjacente.

FlushAsync(CancellationToken)

Limpa, de maneira assíncrona, todos os buffers do gravador atual e faz com que todos os dados armazenados em buffer sejam gravados no dispositivo subjacente.

(Herdado de TextWriter)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
Write(Boolean)

Grava a representação de texto de um valor Boolean no fluxo de texto.

(Herdado de TextWriter)
Write(Char)

Grava um caractere no fluxo.

Write(Char[])

Grava uma matriz de caracteres no fluxo.

Write(Char[], Int32, Int32)

Grava uma submatriz de caracteres no fluxo.

Write(Decimal)

Grava a representação de texto de um valor decimal no fluxo de texto.

(Herdado de TextWriter)
Write(Double)

Grava a representação de texto de um valor de ponto flutuante de 8 bytes no fluxo de texto.

(Herdado de TextWriter)
Write(Int32)

Grava a representação de texto de um inteiro com sinal de 4 bytes no fluxo de texto.

(Herdado de TextWriter)
Write(Int64)

Grava a representação de texto de um inteiro com sinal de 8 bytes no fluxo de texto.

(Herdado de TextWriter)
Write(Object)

Grava a representação de texto de um objeto no fluxo de texto chamando o método ToString nesse objeto.

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

Grava um intervalo de caracteres no fluxo.

Write(ReadOnlySpan<Char>)

Grava um intervalo de caracteres no fluxo de texto.

(Herdado de TextWriter)
Write(Single)

Grava a representação de texto de um valor de ponto flutuante de 4 bytes no fluxo de texto.

(Herdado de TextWriter)
Write(String)

Grava uma cadeia de caracteres no fluxo.

Write(String, Object)

Grava uma cadeia de caracteres formatada no fluxo usando a mesma semântica do método Format(String, Object).

Write(String, Object)

Grava uma cadeia de caracteres formatada no fluxo de texto usando a mesma semântica do método Format(String, Object).

(Herdado de TextWriter)
Write(String, Object, Object)

Grava uma cadeia de caracteres formatada no fluxo usando a mesma semântica que o Format(String, Object, Object) método .

Write(String, Object, Object)

Grava uma cadeia de caracteres formatada no fluxo de texto usando a mesma semântica do método Format(String, Object, Object).

(Herdado de TextWriter)
Write(String, Object, Object, Object)

Grava uma cadeia de caracteres formatada no fluxo usando a mesma semântica do método Format(String, Object, Object, Object).

Write(String, Object, Object, Object)

Grava uma cadeia de caracteres formatada no fluxo de texto usando a mesma semântica do método Format(String, Object, Object, Object).

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

Grava uma cadeia de caracteres formatada no fluxo usando a mesma semântica do método Format(String, Object[]).

Write(String, Object[])

Grava uma cadeia de caracteres formatada no fluxo de texto usando a mesma semântica do método Format(String, Object[]).

(Herdado de TextWriter)
Write(StringBuilder)

Grava um construtor de cadeia de caracteres no fluxo de texto.

(Herdado de TextWriter)
Write(UInt32)

Grava a representação de texto de um inteiro sem sinal de 4 bytes no fluxo de texto.

(Herdado de TextWriter)
Write(UInt64)

Grava a representação de texto de um inteiro sem sinal de 8 bytes no fluxo de texto.

(Herdado de TextWriter)
WriteAsync(Char)

Grava um caractere no fluxo de forma assíncrona.

WriteAsync(Char)

Grava um caractere no fluxo de texto de forma assíncrona.

(Herdado de TextWriter)
WriteAsync(Char[])

Grava uma matriz de caracteres no fluxo de texto de forma assíncrona.

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

Grava de forma assíncrona uma submatriz de caracteres no fluxo.

WriteAsync(Char[], Int32, Int32)

Grava uma submatriz de caracteres no fluxo de texto de forma assíncrona.

(Herdado de TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Grava a região da memória do caractere no fluxo de forma assíncrona.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Grava a região da memória do caractere no fluxo de texto de forma assíncrona.

(Herdado de TextWriter)
WriteAsync(String)

Grava uma cadeia de caracteres no fluxo de forma assíncrona.

WriteAsync(String)

Grava uma cadeia de caracteres no fluxo de texto de forma assíncrona.

(Herdado de TextWriter)
WriteAsync(StringBuilder, CancellationToken)

Grava de forma assíncrona um construtor de cadeia de caracteres no fluxo de texto.

(Herdado de TextWriter)
WriteLine()

Grava um terminador de linha no fluxo de texto.

(Herdado de TextWriter)
WriteLine(Boolean)

Grava a representação de texto de um valor Boolean no fluxo de texto, seguida por um terminador de linha.

(Herdado de TextWriter)
WriteLine(Char)

Grava um caractere no fluxo de texto, seguido por um terminador de linha.

(Herdado de TextWriter)
WriteLine(Char[])

Grava uma matriz de caracteres no fluxo de texto, seguida por um terminador de linha no fluxo.

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

Grava uma submatriz de caracteres no fluxo de texto, seguida por um terminador de linha.

(Herdado de TextWriter)
WriteLine(Decimal)

Grava a representação de texto de um valor decimal no fluxo de texto, seguida por um terminador de linha.

(Herdado de TextWriter)
WriteLine(Double)

Grava a representação de texto de um valor de ponto flutuante de 8 bytes no fluxo de texto, seguido por um terminador de linha.

(Herdado de TextWriter)
WriteLine(Int32)

Grava a representação de texto de um inteiro com sinal de 4 bytes no fluxo de texto, seguido por um terminador de linha.

(Herdado de TextWriter)
WriteLine(Int64)

Grava a representação de texto de um inteiro com sinal de 8 bytes no fluxo de texto, seguido por um terminador de linha.

(Herdado de TextWriter)
WriteLine(Object)

Grava a representação de texto de um objeto no fluxo de texto chamando o método ToString nesse objeto, seguido por um terminador de linha.

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

Grava a representação de texto de um intervalo de caracteres no fluxo, seguido por um terminador de linha.

WriteLine(ReadOnlySpan<Char>)

Grava a representação de texto de um intervalo de caracteres no fluxo de texto, seguido por um terminador de linha.

(Herdado de TextWriter)
WriteLine(Single)

Grava a representação de texto de um valor de ponto flutuante de 4 bytes no fluxo de texto, seguido por um terminador de linha.

(Herdado de TextWriter)
WriteLine(String)

Grava uma cadeia de caracteres no fluxo, seguida por um terminador de linha.

WriteLine(String)

Grava uma cadeia de caracteres no fluxo de texto, seguida por um terminador de linha.

(Herdado de TextWriter)
WriteLine(String, Object)

Grava uma cadeia de caracteres formatada e uma nova linha no fluxo, usando a mesma semântica que o método Format(String, Object).

WriteLine(String, Object)

Grava uma cadeia de caracteres formatada e uma nova linha no fluxo de texto, usando a mesma semântica que o método Format(String, Object).

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

Grava uma cadeia de caracteres formatada e uma nova linha no fluxo, usando a mesma semântica que o método Format(String, Object, Object).

WriteLine(String, Object, Object)

Grava uma cadeia de caracteres formatada e uma nova linha no fluxo de texto, usando a mesma semântica que o método Format(String, Object, Object).

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

Grava uma cadeia de caracteres formatada e uma nova linha no fluxo, usando a mesma semântica que Format(String, Object).

WriteLine(String, Object, Object, Object)

Grava uma cadeia de caracteres formatada e uma nova linha no fluxo de texto, usando a mesma semântica que Format(String, Object).

(Herdado de TextWriter)
WriteLine(String, Object[])

Grava uma cadeia de caracteres formatada e uma nova linha no fluxo, usando a mesma semântica que Format(String, Object).

WriteLine(String, Object[])

Grava uma cadeia de caracteres formatada e uma nova linha no fluxo de texto, usando a mesma semântica que Format(String, Object).

(Herdado de TextWriter)
WriteLine(StringBuilder)

Grava a representação de texto de um construtor de cadeia de caracteres no fluxo de texto, seguida por um terminador de linha.

(Herdado de TextWriter)
WriteLine(UInt32)

Grava a representação de texto de um inteiro sem sinal de 4 bytes no fluxo de texto, seguido por um terminador de linha.

(Herdado de TextWriter)
WriteLine(UInt64)

Grava a representação de texto de um inteiro sem sinal de 8 bytes no fluxo de texto, seguido por um terminador de linha.

(Herdado de TextWriter)
WriteLineAsync()

Grava de forma assíncrona um terminador de linha no fluxo.

WriteLineAsync()

Grava de forma assíncrona um terminador de linha no fluxo de texto.

(Herdado de TextWriter)
WriteLineAsync(Char)

Grava de forma assíncrona um caractere no fluxo, seguido por um terminador de linha.

WriteLineAsync(Char)

Grava de forma assíncrona um caractere no fluxo de texto, seguido por um terminador de linha.

(Herdado de TextWriter)
WriteLineAsync(Char[])

Grava de forma assíncrona uma matriz de caracteres no fluxo de texto, seguida por um terminador de linha no fluxo.

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

Grava de forma assíncrona uma submatriz de caracteres no fluxo, seguida por um terminador de linha no fluxo.

WriteLineAsync(Char[], Int32, Int32)

Grava de forma assíncrona uma submatriz de caracteres no fluxo de texto, seguida por um terminador de linha no fluxo.

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

Grava de forma assíncrona a representação de texto de uma região da memória do caractere no fluxo, seguida por um terminador de linha.

WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Grava de forma assíncrona a representação de texto de uma região da memória do caractere no fluxo de texto, seguida por um terminador de linha.

(Herdado de TextWriter)
WriteLineAsync(String)

Grava de forma assíncrona uma cadeia de caracteres no fluxo, seguida por um terminador de linha.

WriteLineAsync(String)

Grava de forma assíncrona uma cadeia de caracteres no fluxo de texto, seguida por um terminador de linha.

(Herdado de TextWriter)
WriteLineAsync(StringBuilder, CancellationToken)

Grava de forma assíncrona a representação de texto de um construtor de cadeia de caracteres no fluxo de texto, seguida por um terminador de linha.

(Herdado de TextWriter)

Implantações explícitas de interface

IDisposable.Dispose()

Para obter uma descrição desse membro, confira Dispose().

(Herdado de TextWriter)

Métodos de Extensão

ConfigureAwait(IAsyncDisposable, Boolean)

Configura como as esperas nas tarefas retornadas de um descartável assíncrono são realizadas.

Aplica-se a

Confira também