StreamWriter Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Implementa um TextWriter para escrever 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
- Herança
- Atributos
Exemplos
O exemplo a seguir mostra como usar um objeto StreamWriter para gravar um arquivo que lista os diretórios na unidade C e, em seguida, usa um objeto StreamReader para ler e exibir cada nome de diretório. Uma boa prática é usar esses objetos em uma instrução using
para que os recursos não gerenciados sejam descartados corretamente. A instrução using
chama automaticamente Dispose no objeto quando o código que está usando ele for concluído. Não há suporte para o construtor usado neste exemplo 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 caractere 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 terminar de usar o tipo, você deverá descartá-lo direta ou indiretamente. Para descartar o tipo diretamente, chame seu método Dispose em um bloco de try
/catch
. Para descartá-lo indiretamente, use um constructo de linguagem como using
(em C#) ou Using
(no Visual Basic). Para obter mais informações, consulte a seção "Usando 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 o contrário. Essa instância de UTF8Encoding
é construída sem uma marca de ordem de bytes (BOM), de modo que seu método GetPreamble 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 propriedade Encoding.UTF8. Para especificar um 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 a codificação e o tamanho do buffer especificados. |
StreamWriter(Stream, Encoding, Int32, Boolean) |
Inicializa uma nova instância da classe StreamWriter para o fluxo especificado usando a codificação especificada e o tamanho do buffer e, opcionalmente, deixa o fluxo aberto. |
StreamWriter(String) |
Inicializa uma nova instância da classe StreamWriter para o arquivo especificado usando a codificação padrão e o tamanho do buffer. |
StreamWriter(String, Boolean) |
Inicializa uma nova instância da classe StreamWriter para o arquivo especificado usando a codificação padrão e o tamanho do buffer. Se o arquivo existir, ele poderá ser substituído ou acrescentado. 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 acrescentado. 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 acrescentado. Se o arquivo não existir, esse construtor criará um novo arquivo. |
StreamWriter(String, Encoding, FileStreamOptions) |
Inicializa uma nova instância da classe StreamWriter para o arquivo especificado, usando a codificação especificada e configurada com o objeto FileStreamOptions especificado. |
StreamWriter(String, FileStreamOptions) |
Inicializa uma nova instância da classe StreamWriter para o arquivo especificado, usando a codificação padrão e configurada com o objeto FileStreamOptions especificado. |
Campos
CoreNewLine |
Armazena os caracteres de nova linha usados para este |
Null |
Fornece um |
Propriedades
AutoFlush |
Obtém ou define um valor que indica se o StreamWriter liberará seu buffer para o fluxo subjacente após cada chamada para Write(Char). |
BaseStream |
Obtém o fluxo subjacente que é adaptado com um repositório de backup. |
Encoding |
Obtém o Encoding em que 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 do terminador de linha usada pelo |
Métodos
Close() |
Fecha o objeto |
Close() |
Fecha o gravador atual e libera todos os recursos do 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 todos os dados em buffer sejam gravados no fluxo subjacente, libera os recursos não gerenciados usados pelo StreamWritere, opcionalmente, os recursos gerenciados. |
DisposeAsync() |
Grava de forma assíncrona todos os dados 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 de ser recuperado pelo coletor de lixo. |
Flush() |
Limpa todos os buffers do gravador atual e faz com que todos os dados em buffer sejam gravados no fluxo subjacente. |
FlushAsync() |
Limpa todos os buffers desse fluxo de forma assíncrona e faz com que todos os dados em buffer sejam gravados no dispositivo subjacente. |
FlushAsync() |
Limpa de forma assíncrona todos os buffers do gravador atual e faz com que todos os dados em buffer sejam gravados no dispositivo subjacente. (Herdado de TextWriter) |
FlushAsync(CancellationToken) |
Limpa todos os buffers desse fluxo de forma assíncrona e faz com que todos os dados em buffer sejam gravados no dispositivo subjacente. |
FlushAsync(CancellationToken) |
Limpa de forma assíncrona todos os buffers do gravador atual e faz com que todos os dados 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 tempo de vida para essa 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 dessa instância. (Herdado de MarshalByRefObject) |
MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (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 |
Write(Char) |
Grava um caractere no fluxo. |
Write(Char[]) |
Grava uma matriz de caracteres no fluxo. |
Write(Char[], Int32, Int32) |
Grava uma subarray 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 |
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 que o método Format(String, Object). |
Write(String, Object) |
Grava uma cadeia de caracteres formatada no fluxo de texto usando a mesma semântica que o 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 método Format(String, Object, Object). |
Write(String, Object, Object) |
Grava uma cadeia de caracteres formatada no fluxo de texto usando a mesma semântica que o 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 que o 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 que o 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 que o método Format(String, Object[]). |
Write(String, Object[]) |
Grava uma cadeia de caracteres formatada no fluxo de texto usando a mesma semântica que o método Format(String, Object[]). (Herdado de TextWriter) |
Write(String, ReadOnlySpan<Object>) |
Grava uma cadeia de caracteres formatada no fluxo usando a mesma semântica que Format(String, ReadOnlySpan<Object>). |
Write(String, ReadOnlySpan<Object>) |
Grava uma cadeia de caracteres formatada no fluxo de texto usando a mesma semântica que Format(String, ReadOnlySpan<Object>). (Herdado de TextWriter) |
Write(StringBuilder) |
Grava um construtor de cadeias 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 de forma assíncrona um caractere no fluxo. |
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 subarray de caracteres no fluxo. |
WriteAsync(Char[], Int32, Int32) |
Grava uma subarray de caracteres no fluxo de texto de forma assíncrona. (Herdado de TextWriter) |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Grava de forma assíncrona uma região de memória de caractere no fluxo. |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Grava de forma assíncrona uma região de memória de caractere no fluxo de texto. (Herdado de TextWriter) |
WriteAsync(String) |
Grava de forma assíncrona uma cadeia de caracteres no fluxo. |
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 cadeias 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 |
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, seguido por um terminador de linha. (Herdado de TextWriter) |
WriteLine(Char[], Int32, Int32) |
Grava uma subarray 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, seguido 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 |
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(String, ReadOnlySpan<Object>) |
Grava uma cadeia de caracteres formatada e uma nova linha no fluxo, usando a mesma semântica que Format(String, ReadOnlySpan<Object>). |
WriteLine(String, ReadOnlySpan<Object>) |
Grava uma cadeia de caracteres formatada e uma nova linha no fluxo de texto, usando a mesma semântica que Format(String, ReadOnlySpan<Object>). (Herdado de TextWriter) |
WriteLine(StringBuilder) |
Grava a representação de texto de um construtor de cadeias de caracteres no fluxo de texto, seguido 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. (Herdado de TextWriter) |
WriteLineAsync(Char[], Int32, Int32) |
Grava de forma assíncrona uma subarray de caracteres no fluxo, seguida por um terminador de linha. |
WriteLineAsync(Char[], Int32, Int32) |
Grava de forma assíncrona uma subarray de caracteres no fluxo de texto, seguida por um terminador de linha. (Herdado de TextWriter) |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Grava de forma assíncrona a representação de texto de uma região de memória de caractere no fluxo, seguido por um terminador de linha. |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Grava de forma assíncrona a representação de texto de uma região de memória de caractere no fluxo de texto, seguido 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 cadeias de caracteres no fluxo de texto, seguido por um terminador de linha. (Herdado de TextWriter) |
Implantações explícitas de interface
IDisposable.Dispose() |
Para obter uma descrição desse membro, consulte 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 serão executadas. |