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 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 o objeto quando o código que o está usando é 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 são Stream projetadas para entrada e saída de bytes.
Importante
Esse tipo implementa a IDisposable interface. Quando terminar de usar o tipo, você 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 (no Visual Basic). Para obter mais informações, consulte a seção "Usando um objeto que implementa idisposable" no tópico da IDisposable interface.
StreamWriter o padrão é usar uma instância de UTF8Encoding , a menos que especificado de outra forma. Essa instância é construída sem uma marca de UTF8Encoding ordem de bytes (BOM), 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 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 thread não é seguro. Consulte TextWriter.Synchronized um wrapper thread-safe.
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.
Construtores
| Nome | Description |
|---|---|
| StreamWriter(Stream, Encoding, Int32, Boolean) |
Inicializa uma nova instância da StreamWriter classe para o fluxo especificado usando a codificação especificada e o tamanho do buffer e, opcionalmente, deixa o fluxo aberto. |
| StreamWriter(Stream, Encoding, Int32) |
Inicializa uma nova instância da StreamWriter classe para o fluxo especificado usando a codificação especificada e o tamanho do buffer. |
| StreamWriter(Stream, Encoding) |
Inicializa uma nova instância da StreamWriter classe para o fluxo especificado usando a codificação especificada e o tamanho do buffer padrão. |
| StreamWriter(Stream) |
Inicializa uma nova instância da StreamWriter classe para o fluxo especificado usando a codificação UTF-8 e o tamanho do buffer padrão. |
| StreamWriter(String, Boolean, Encoding, Int32) |
Inicializa uma nova instância da StreamWriter classe 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, Boolean, Encoding) |
Inicializa uma nova instância da StreamWriter classe 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) |
Inicializa uma nova instância da StreamWriter classe 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, 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 . |
| StreamWriter(String) |
Inicializa uma nova instância da StreamWriter classe para o arquivo especificado usando a codificação padrão e o tamanho do buffer. |
Campos
| Nome | Description |
|---|---|
| CoreNewLine |
Armazena os caracteres de nova linha usados para isso |
| Null |
Fornece um |
Propriedades
| Nome | Description |
|---|---|
| AutoFlush |
Obtém ou define um valor que indica se o StreamWriter buffer será liberado 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 atual |
Métodos
| Nome | Description |
|---|---|
| Close() |
Fecha o objeto atual |
| 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 TextWriter objeto. (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. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Finalize() |
Libera os recursos da corrente StreamWriter antes de ser recuperada 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(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. |
| 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 atual MarshalByRefObject . (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 |
| Write(Char) |
Grava um caractere no fluxo. |
| Write(Char[], Int32, Int32) |
Grava uma subarray de caracteres no fluxo. |
| Write(Char[]) |
Grava uma matriz 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 |
| Write(ReadOnlySpan<Char>) |
Grava um intervalo de caracteres no fluxo. |
| Write(Rune) |
Implementa um TextWriter para escrever caracteres em um fluxo em uma codificação específica. (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, Object, Object, Object) |
Grava uma cadeia de caracteres formatada no fluxo usando a mesma semântica que o Format(String, Object, Object, Object) método. |
| Write(String, Object, Object, Object) |
Grava uma cadeia de caracteres formatada no fluxo de texto usando a mesma semântica que o Format(String, Object, Object, Object) método. (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 que o Format(String, Object, Object) método. (Herdado de TextWriter) |
| Write(String, Object) |
Grava uma cadeia de caracteres formatada no fluxo usando a mesma semântica que o Format(String, Object) método. |
| Write(String, Object) |
Grava uma cadeia de caracteres formatada no fluxo de texto usando a mesma semântica que o Format(String, Object) método. (Herdado de TextWriter) |
| Write(String, Object[]) |
Grava uma cadeia de caracteres formatada no fluxo usando a mesma semântica que o Format(String, Object[]) método. |
| Write(String, Object[]) |
Grava uma cadeia de caracteres formatada no fluxo de texto usando a mesma semântica que o Format(String, Object[]) método. (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) |
Grava uma cadeia de caracteres no fluxo. |
| 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[], Int32, Int32) |
Grava de forma assíncrona uma subarray de caracteres no fluxo. |
| WriteAsync(Char[]) |
Grava uma matriz 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(Rune) |
Implementa um TextWriter para escrever caracteres em um fluxo em uma codificação específica. (Herdado de TextWriter) |
| WriteAsync(String, CancellationToken) |
Implementa um TextWriter para escrever caracteres em um fluxo em uma codificação específica. (Herdado de TextWriter) |
| WriteAsync(String) |
Grava de forma assíncrona uma cadeia de caracteres no fluxo. |
| 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 |
| WriteLine(Char) |
Grava um caractere 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(Char[]) |
Grava uma matriz de caracteres no fluxo de texto, seguido 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 |
| WriteLine(ReadOnlySpan<Char>) |
Grava a representação de texto de um intervalo de caracteres no fluxo, seguido por um terminador de linha. |
| WriteLine(Rune) |
Implementa um TextWriter para escrever caracteres em um fluxo em uma codificação específica. (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, 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, Object) |
Grava uma cadeia de caracteres formatada e uma nova linha no fluxo, usando a mesma semântica que o Format(String, Object, Object) método. |
| 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 Format(String, Object, Object) método. (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 Format(String, Object) método. |
| WriteLine(String, Object) |
Grava uma cadeia de caracteres formatada e uma nova linha no fluxo de texto, usando a mesma semântica que o Format(String, Object) método. (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) |
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(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(CancellationToken) |
Implementa um TextWriter para escrever caracteres em um fluxo em uma codificação específica. (Herdado de TextWriter) |
| WriteLineAsync(Char) |
Grava de forma assíncrona um caractere no fluxo, seguido por um terminador de linha. |
| WriteLineAsync(Char[], Int32, Int32) |
Grava de forma assíncrona uma subarray de caracteres no fluxo, seguida por um terminador de linha. |
| 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(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(Rune) |
Implementa um TextWriter para escrever caracteres em um fluxo em uma codificação específica. (Herdado de TextWriter) |
| WriteLineAsync(String, CancellationToken) |
Implementa um TextWriter para escrever caracteres em um fluxo em uma codificação específica. (Herdado de TextWriter) |
| WriteLineAsync(String) |
Grava de forma assíncrona uma cadeia de caracteres no fluxo, seguida por um terminador de linha. |
| 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
| Nome | Description |
|---|---|
| IDisposable.Dispose() |
Para obter uma descrição deste membro, consulte Dispose(). (Herdado de TextWriter) |
Métodos de Extensão
| Nome | Description |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Configura como as esperas nas tarefas retornadas de um descartável assíncrono serão executadas. |