StreamWriter Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Implementa um TextWriter para escrever caracteres num fluxo numa 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 seguinte mostra como usar um StreamWriter objeto para escrever um ficheiro que lista os diretórios na unidade C, e depois usa um StreamReader objeto para ler e mostrar cada nome de diretório. Uma boa prática é usar estes objetos numa using instrução para que os recursos não geridos sejam corretamente descartados. A using instrução chama Dispose automaticamente o objeto quando o código que o está a usar é concluído. O construtor usado neste exemplo não é suportado para uso em aplicações 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
Observações
StreamWriter é concebida para saída de caracteres numa codificação específica, enquanto as classes derivadas de Stream são concebidas para entrada e saída por bytes.
Importante
Este tipo implementa a interface IDisposable. Quando terminar de usar o tipo, você deve eliminá-lo direta ou indiretamente. Para descartar o tipo diretamente, chame seu método Dispose em um bloco try/catch. Para descartá-lo indiretamente, use uma construção de linguagem como using (em C#) ou Using (em Visual Basic). Para obter mais informações, consulte a seção "Usando um objeto que implementa IDisposable" no tópico da IDisposable interface.
StreamWriter por defeito usa uma instância de UTF8Encoding a menos que especifique o contrário. Esta instância de UTF8Encoding é construída sem uma marca de ordem de bytes (BOM), pelo que o seu GetPreamble método devolve um array de bytes vazio. A codificação UTF-8 por defeito para este construtor lança uma exceção em bytes inválidos. Este comportamento é diferente do comportamento fornecido pelo objeto codificador na Encoding.UTF8 propriedade. Para especificar uma lista de materiais e determinar se uma exceção é lançada em bytes inválidos, use um construtor que aceite um objeto de codificação como parâmetro, como StreamWriter(String, Boolean, Encoding) ou StreamWriter.
Por defeito, a StreamWriter não é seguro para threads. Procura TextWriter.Synchronized um invólucro seguro para fios.
Para uma lista de tarefas comuns de E/S, consulte Tarefas Comuns de E/S.
Construtores
| Name | Description |
|---|---|
| StreamWriter(Stream, Encoding, Int32, Boolean) |
Inicializa uma nova instância da StreamWriter classe para o fluxo especificado usando a codificação e o tamanho do buffer especificados, 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 e o tamanho do buffer especificados. |
| StreamWriter(Stream, Encoding) |
Inicializa uma nova instância da StreamWriter classe para o fluxo especificado usando a codificação especificada e o tamanho padrão do buffer. |
| StreamWriter(Stream) |
Inicializa uma nova instância da StreamWriter classe para o fluxo especificado usando codificação UTF-8 e o tamanho padrão do buffer. |
| StreamWriter(String, Boolean, Encoding, Int32) |
Inicializa uma nova instância da StreamWriter classe para o ficheiro especificado no caminho especificado, usando a codificação e o tamanho do buffer especificados. Se o ficheiro existir, pode ser sobrescrito ou acrescentado. Se o ficheiro não existir, este construtor cria um novo ficheiro. |
| StreamWriter(String, Boolean, Encoding) |
Inicializa uma nova instância da StreamWriter classe para o ficheiro especificado usando a codificação e o tamanho padrão do buffer especificados. Se o ficheiro existir, pode ser sobrescrito ou acrescentado. Se o ficheiro não existir, este construtor cria um novo ficheiro. |
| StreamWriter(String, Boolean) |
Inicializa uma nova instância da StreamWriter classe para o ficheiro especificado usando a codificação e o tamanho do buffer por defeito. Se o ficheiro existir, pode ser sobrescrito ou acrescentado. Se o ficheiro não existir, este construtor cria um novo ficheiro. |
| StreamWriter(String) |
Inicializa uma nova instância da StreamWriter classe para o ficheiro especificado usando a codificação e o tamanho do buffer por defeito. |
Campos
| Name | Description |
|---|---|
| CoreNewLine |
Armazena os caracteres da nova linha usados para isto |
| Null |
Fornece um |
Propriedades
| Name | Description |
|---|---|
| AutoFlush |
Obtém ou define um valor que indica se o StreamWriter irá esvaziar o seu buffer para o fluxo subjacente após cada chamada para Write(Char). |
| BaseStream |
Obtém o stream subjacente que faz interface com um armazenamento de apoio. |
| Encoding |
Obtém o Encoding onde a saída é escrita. |
| FormatProvider |
Recebe um objeto que controla a formatação. (Herdado de TextWriter) |
| NewLine |
Obtém ou define a cadeia de terminadores de linha usada pela corrente |
Métodos
| Name | Description |
|---|---|
| Close() |
Fecha o objeto atual |
| CreateObjRef(Type) |
Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
| Dispose() |
Liberta todos os recursos usados pelo TextWriter objeto. (Herdado de TextWriter) |
| Dispose(Boolean) |
Faz com que quaisquer dados em buffer sejam escritos no fluxo subjacente, liberta os recursos não geridos usados pelo StreamWriter, e opcionalmente os recursos geridos. |
| DisposeAsync() |
Escreve assíncronamente quaisquer dados em buffer no fluxo subjacente e liberta os recursos não geridos usados pelo StreamWriter. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Finalize() |
liberta os recursos da corrente StreamWriter antes de ser recuperada pelo coletor de lixo. |
| Flush() |
Limpa todos os buffers do autor atual e faz com que quaisquer dados armazenados sejam escritos no fluxo subjacente. |
| FlushAsync() |
Limpa todos os buffers deste fluxo de forma assíncrona e faz com que quaisquer dados em buffer sejam escritos no dispositivo subjacente. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetLifetimeService() |
Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso. (Herdado de MarshalByRefObject) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InitializeLifetimeService() |
Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso. (Herdado de MarshalByRefObject) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| Write(Boolean) |
Escreve a representação textual de um |
| Write(Char) |
Escreve uma personagem no stream. |
| Write(Char[], Int32, Int32) |
Escreve um subarray de caracteres no stream. |
| Write(Char[]) |
Escreve um array de caracteres no stream. |
| Write(Decimal) |
Escreve a representação textual de um valor decimal no fluxo de texto. (Herdado de TextWriter) |
| Write(Double) |
Grava a representação textual de um valor de vírgula flutuante de 8 bytes no fluxo de texto. (Herdado de TextWriter) |
| Write(Int32) |
Escreve a representação textual de um inteiro com sinal de 4 bytes no fluxo de texto. (Herdado de TextWriter) |
| Write(Int64) |
Escreve a representação textual de um inteiro com sinal de 8 bytes no fluxo de texto. (Herdado de TextWriter) |
| Write(Object) |
Escreve a representação textual de um objeto no fluxo de texto chamando o |
| Write(ReadOnlySpan<Char>) |
Escreve um intervalo de caracteres para o stream. |
| Write(Single) |
Grava a representação textual de um valor de vírgula flutuante de 4 bytes no fluxo de texto. (Herdado de TextWriter) |
| Write(String, Object, Object, Object) |
Escreve uma cadeia formatada no fluxo de texto, usando a mesma semântica do Format(String, Object, Object, Object) método. (Herdado de TextWriter) |
| Write(String, Object, Object) |
Escreve uma string formatada no fluxo de texto usando a mesma semântica do Format(String, Object, Object) método. (Herdado de TextWriter) |
| Write(String, Object) |
Escreve uma cadeia formatada no fluxo de texto, usando a mesma semântica do Format(String, Object) método. (Herdado de TextWriter) |
| Write(String, Object[]) |
Escreve uma cadeia formatada no fluxo de texto, usando a mesma semântica do Format(String, Object[]) método. (Herdado de TextWriter) |
| Write(String) |
Escreve uma corda no stream. |
| Write(UInt32) |
Escreve a representação textual de um inteiro sem sinal de 4 bytes no fluxo de texto. (Herdado de TextWriter) |
| Write(UInt64) |
Escreve a representação textual de um inteiro sem sinal de 8 bytes no fluxo de texto. (Herdado de TextWriter) |
| WriteAsync(Char) |
Escreve assíncronamente um carácter no fluxo. |
| WriteAsync(Char[], Int32, Int32) |
A Assíncrona escreve um subarray de caracteres no fluxo. |
| WriteAsync(Char[]) |
Escreve um array de caracteres no fluxo de texto de forma assíncrona. (Herdado de TextWriter) |
| WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Escreve assíncronamente uma região de memória de caracteres no fluxo. |
| WriteAsync(String) |
Escreve assíncronamente uma string no fluxo. |
| WriteLine() |
Escreve um terminador de linha no fluxo de texto. (Herdado de TextWriter) |
| WriteLine(Boolean) |
Escreve a representação textual de um |
| WriteLine(Char) |
Escreve um carácter no fluxo de texto, seguido de um terminador de linha. (Herdado de TextWriter) |
| WriteLine(Char[], Int32, Int32) |
Escreve um subarray de caracteres no fluxo de texto, seguido de um terminador de linha. (Herdado de TextWriter) |
| WriteLine(Char[]) |
Escreve um array de caracteres no fluxo de texto, seguido de um terminador de linha. (Herdado de TextWriter) |
| WriteLine(Decimal) |
Escreve a representação textual de um valor decimal no fluxo de texto, seguida de um terminador de linha. (Herdado de TextWriter) |
| WriteLine(Double) |
Escreve a representação de texto de um valor de ponto flutuante de 8 bytes no fluxo de texto, seguida de um terminador de linha. (Herdado de TextWriter) |
| WriteLine(Int32) |
Escreve a representação textual de um inteiro com sinal de 4 bytes no fluxo de texto, seguida de um terminador de linha. (Herdado de TextWriter) |
| WriteLine(Int64) |
Escreve a representação textual de um inteiro com sinal de 8 bytes no fluxo de texto, seguida de um terminador de linha. (Herdado de TextWriter) |
| WriteLine(Object) |
Escreve a representação textual de um objeto no fluxo de texto, chamando o |
| WriteLine(ReadOnlySpan<Char>) |
Escreve a representação textual de um espaço de caracteres para o fluxo, seguida de um terminador de linha. |
| WriteLine(Single) |
Grava a representação de texto de um valor de ponto flutuante de 4 bytes no fluxo de texto, seguida de um terminador de linha. (Herdado de TextWriter) |
| WriteLine(String, Object, Object, Object) |
Escreve uma cadeia 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) |
Escreve uma string formatada e uma nova linha no fluxo de texto, usando a mesma semântica do Format(String, Object, Object) método. (Herdado de TextWriter) |
| WriteLine(String, Object) |
Escreve uma string formatada e uma nova linha no fluxo de texto, usando a mesma semântica do Format(String, Object) método. (Herdado de TextWriter) |
| WriteLine(String, Object[]) |
Escreve uma cadeia formatada e uma nova linha no fluxo de texto, usando a mesma semântica que Format(String, Object). (Herdado de TextWriter) |
| WriteLine(String) |
Escreve uma cadeia no fluxo, seguida de um terminador de linha. |
| WriteLine(String) |
Escreve uma cadeia no fluxo de texto, seguida de um terminador de linha. (Herdado de TextWriter) |
| WriteLine(UInt32) |
Escreve a representação de texto de um inteiro sem sinal de 4 bytes no fluxo de texto, seguida de um terminador de linha. (Herdado de TextWriter) |
| WriteLine(UInt64) |
Escreve a representação de texto de um inteiro sem sinal de 8 bytes no fluxo de texto, seguida de um terminador de linha. (Herdado de TextWriter) |
| WriteLineAsync() |
Escreve assíncronamente um terminador de linha no fluxo. |
| WriteLineAsync(Char) |
Escreve assíncronamente um carácter no fluxo, seguido de um terminador de linha. |
| WriteLineAsync(Char[], Int32, Int32) |
De forma assíncrona, escreve um subarray de caracteres no fluxo, seguido de um terminador de linha. |
| WriteLineAsync(Char[]) |
Escreve assíncronamente um array de caracteres no fluxo de texto, seguido de um terminador de linha. (Herdado de TextWriter) |
| WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
De forma assíncrona, escreve a representação de texto de uma região de memória de caracteres no fluxo, seguida de um terminador de linha. |
| WriteLineAsync(String) |
Escreve assíncronamente uma cadeia no fluxo, seguida de um terminador de linha. |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Para uma descrição deste elemento, veja Dispose(). (Herdado de TextWriter) |
Métodos da Extensão
| Name | Description |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Configura como aguarda nas tarefas devolvidas de um descartável assíncrono será realizada. |