StringWriter 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 gravar informações em uma cadeia de caracteres. As informações são armazenadas em um StringBuildersubjacente.
public ref class StringWriter : System::IO::TextWriter
public class StringWriter : System.IO.TextWriter
[System.Serializable]
public class StringWriter : System.IO.TextWriter
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StringWriter : System.IO.TextWriter
type StringWriter = class
inherit TextWriter
[<System.Serializable>]
type StringWriter = class
inherit TextWriter
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StringWriter = class
inherit TextWriter
Public Class StringWriter
Inherits TextWriter
- Herança
- Herança
- Atributos
Exemplos
O exemplo de código a seguir demonstra a criação de um parágrafo contínuo de um grupo de frases com espaçamento duplo e, em seguida, a conversão do parágrafo de volta para o texto original.
using namespace System;
using namespace System::IO;
int main()
{
String^ textReaderText = "TextReader is the abstract base "
"class of StreamReader and StringReader, which read "
"characters from streams and strings, respectively.\n\n"
"Create an instance of TextReader to open a text file "
"for reading a specified range of characters, or to "
"create a reader based on an existing stream.\n\n"
"You can also use an instance of TextReader to read "
"text from a custom backing store using the same "
"APIs you would use for a string or a stream.\n\n";
Console::WriteLine( "Original text:\n\n{0}", textReaderText );
// From textReaderText, create a continuous paragraph
// with two spaces between each sentence.
String^ aLine;
String^ aParagraph;
StringReader^ strReader = gcnew StringReader( textReaderText );
while ( true )
{
aLine = strReader->ReadLine();
if ( aLine != nullptr )
{
aParagraph = String::Concat( aParagraph, aLine, " " );
}
else
{
aParagraph = String::Concat( aParagraph, "\n" );
break;
}
}
Console::WriteLine( "Modified text:\n\n{0}", aParagraph );
// Re-create textReaderText from aParagraph.
int intCharacter;
Char convertedCharacter;
StringWriter^ strWriter = gcnew StringWriter;
strReader = gcnew StringReader( aParagraph );
while ( true )
{
intCharacter = strReader->Read();
// Check for the end of the string
// before converting to a character.
if ( intCharacter == -1 )
break;
convertedCharacter = Convert::ToChar( intCharacter );
if ( convertedCharacter == '.' )
{
strWriter->Write( ".\n\n" );
// Bypass the spaces between sentences.
strReader->Read();
strReader->Read();
}
else
{
strWriter->Write( convertedCharacter );
}
}
Console::WriteLine( "\nOriginal text:\n\n{0}", strWriter->ToString() );
}
using System;
using System.IO;
class StringRW
{
static void Main()
{
string textReaderText = "TextReader is the abstract base " +
"class of StreamReader and StringReader, which read " +
"characters from streams and strings, respectively.\n\n" +
"Create an instance of TextReader to open a text file " +
"for reading a specified range of characters, or to " +
"create a reader based on an existing stream.\n\n" +
"You can also use an instance of TextReader to read " +
"text from a custom backing store using the same " +
"APIs you would use for a string or a stream.\n\n";
Console.WriteLine("Original text:\n\n{0}", textReaderText);
// From textReaderText, create a continuous paragraph
// with two spaces between each sentence.
string aLine, aParagraph = null;
StringReader strReader = new StringReader(textReaderText);
while(true)
{
aLine = strReader.ReadLine();
if(aLine != null)
{
aParagraph = aParagraph + aLine + " ";
}
else
{
aParagraph = aParagraph + "\n";
break;
}
}
Console.WriteLine("Modified text:\n\n{0}", aParagraph);
// Re-create textReaderText from aParagraph.
int intCharacter;
char convertedCharacter;
StringWriter strWriter = new StringWriter();
strReader = new StringReader(aParagraph);
while(true)
{
intCharacter = strReader.Read();
// Check for the end of the string
// before converting to a character.
if(intCharacter == -1) break;
convertedCharacter = (char)intCharacter;
if(convertedCharacter == '.')
{
strWriter.Write(".\n\n");
// Bypass the spaces between sentences.
strReader.Read();
strReader.Read();
}
else
{
strWriter.Write(convertedCharacter);
}
}
Console.WriteLine("\nOriginal text:\n\n{0}",
strWriter.ToString());
}
}
Option Explicit
Option Strict
Imports System.IO
Public Class StrReader
Shared Sub Main()
Dim textReaderText As String = "TextReader is the " & _
"abstract base class of StreamReader and " & _
"StringReader, which read characters from streams " & _
"and strings, respectively." & _
vbCrLf & vbCrLf & _
"Create an instance of TextReader to open a text " & _
"file for reading a specified range of characters, " & _
"or to create a reader based on an existing stream." & _
vbCrLf & vbCrLf & _
"You can also use an instance of TextReader to read " & _
"text from a custom backing store using the same " & _
"APIs you would use for a string or a stream." & _
vbCrLf & vbCrLf
Console.WriteLine("Original text:" & vbCrLf & vbCrLf & _
textReaderText)
' From textReaderText, create a continuous paragraph
' with two spaces between each sentence.
Dim aLine, aParagraph As String
Dim strReader As New StringReader(textReaderText)
While True
aLine = strReader.ReadLine()
If aLine Is Nothing Then
aParagraph = aParagraph & vbCrLf
Exit While
Else
aParagraph = aParagraph & aLine & " "
End If
End While
Console.WriteLine("Modified text:" & vbCrLf & vbCrLf & _
aParagraph)
' Re-create textReaderText from aParagraph.
Dim intCharacter As Integer
Dim convertedCharacter As Char
Dim strWriter As New StringWriter()
strReader = New StringReader(aParagraph)
While True
intCharacter = strReader.Read()
' Check for the end of the string
' before converting to a character.
If intCharacter = -1 Then
Exit While
End If
convertedCharacter = Convert.ToChar(intCharacter)
If convertedCharacter = "."C Then
strWriter.Write("." & vbCrLf & vbCrLf)
' Bypass the spaces between sentences.
strReader.Read()
strReader.Read()
Else
strWriter.Write(convertedCharacter)
End If
End While
Console.WriteLine(vbCrLf & "Original text:" & vbCrLf & _
vbCrLf & strWriter.ToString())
End Sub
End Class
Comentários
StringWriter permite gravar em uma cadeia de caracteres de forma síncrona ou assíncrona. Você pode escrever um caractere de cada vez com o método Write(Char) ou WriteAsync(Char), uma cadeia de caracteres por vez usando o Write(String) ou o método WriteAsync(String). Além disso, você pode escrever um caractere, uma matriz de caracteres ou uma cadeia de caracteres seguida pelo terminador de linha de forma assíncrona com um dos métodos WriteLineAsync.
Nota
Esse tipo implementa a interface IDisposable, mas não tem recursos para descartar. Isso significa que não é necessário descartá-lo chamando diretamente Dispose() ou usando um constructo de idioma, como using
(em C#) ou Using
(no Visual Basic).
A tabela a seguir lista exemplos de outras tarefas de E/S típicas ou relacionadas.
Para fazer isso... | Veja o exemplo neste tópico... |
---|---|
Crie um arquivo de texto. | Como gravar texto em um arquivo |
Gravar em um arquivo de texto. | Como gravar texto em um arquivo |
Leitura de um arquivo de texto. | Como ler texto de um arquivo |
Acrescente o texto a um arquivo. |
Como abrir e acrescentar a um arquivo de log File.AppendText FileInfo.AppendText |
Obtenha o tamanho de um arquivo. | FileInfo.Length |
Obtenha os atributos de um arquivo. | File.GetAttributes |
Defina os atributos de um arquivo. | File.SetAttributes |
Determine se existe um arquivo. | File.Exists |
Ler de um arquivo binário. | Como ler e gravar em um arquivo de dados recém-criado |
Gravar em um arquivo binário. | Como ler e gravar em um arquivo de dados recém-criado |
Construtores
StringWriter() |
Inicializa uma nova instância da classe StringWriter. |
StringWriter(IFormatProvider) |
Inicializa uma nova instância da classe StringWriter com o controle de formato especificado. |
StringWriter(StringBuilder) |
Inicializa uma nova instância da classe StringWriter que grava no StringBuilderespecificado. |
StringWriter(StringBuilder, IFormatProvider) |
Inicializa uma nova instância da classe StringWriter que grava no StringBuilder especificado e tem o provedor de formato especificado. |
Campos
CoreNewLine |
Armazena os caracteres de nova linha usados para este |
Propriedades
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 StringWriter atual e o fluxo subjacente. |
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) |
Libera os recursos não gerenciados usados pelo StringWriter e, opcionalmente, libera os recursos gerenciados. |
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) |
Flush() |
Limpa todos os buffers do gravador atual e faz com que todos os dados em buffer sejam gravados no dispositivo subjacente. (Herdado de TextWriter) |
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. |
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 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) |
GetStringBuilder() |
Retorna o StringBuildersubjacente . |
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 contém os caracteres gravados no |
Write(Boolean) |
Grava a representação de texto de um valor |
Write(Char) |
Grava um caractere na cadeia de caracteres. |
Write(Char[]) |
Grava uma matriz de caracteres no fluxo de texto. (Herdado de TextWriter) |
Write(Char[], Int32, Int32) |
Grava uma subarray de caracteres na cadeia de caracteres. |
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 a representação de cadeia de caracteres de um intervalo de caracteres na cadeia de caracteres atual. |
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 na cadeia de caracteres atual. |
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 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 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 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 de texto usando a mesma semântica que Format(String, ReadOnlySpan<Object>). (Herdado de TextWriter) |
Write(StringBuilder) |
Grava a representação de cadeia de caracteres de um construtor de cadeia de caracteres na cadeia de caracteres atual. |
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 um caractere na cadeia de caracteres 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 uma subarray de caracteres na cadeia de caracteres de forma assíncrona. |
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 caracteres na cadeia de caracteres. |
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 uma cadeia de caracteres na cadeia de caracteres atual 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 a representação de texto de um construtor de cadeias de caracteres na cadeia de caracteres. |
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 em um intervalo de caracteres na cadeia de caracteres, 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 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 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 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 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 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 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 cadeia de caracteres na cadeia de caracteres, seguida por um terminador de linha. |
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 de texto. (Herdado de TextWriter) |
WriteLineAsync(Char) |
Grava de forma assíncrona um caractere na cadeia de caracteres, 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 na cadeia de caracteres, 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 da cadeia de caracteres da região de memória dos caracteres na cadeia de caracteres atual, seguida 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 na cadeia de caracteres atual, 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 cadeia de caracteres do construtor de cadeias de caracteres na cadeia de caracteres atual, 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
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. |
Aplica-se a
Confira também
- StringBuilder
- StringReader
- de E/S de Fluxo e Arquivo
- Como ler texto de um arquivo
- Como gravar texto em um arquivo