StringWriter Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Implementa un TextWriter para escribir información en una cadena. La información se almacena en un StringBuildersubyacente.
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
- Herencia
- Herencia
- Atributos
Ejemplos
En el ejemplo de código siguiente se muestra la creación de un párrafo continuo a partir de un grupo de oraciones con doble espacio y, a continuación, la conversión del párrafo al 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
Comentarios
StringWriter permite escribir en una cadena de forma sincrónica o asincrónica. Puede escribir un carácter a la vez con el Write(Char) o el método WriteAsync(Char), una cadena a la vez mediante el Write(String) o el método WriteAsync(String). Además, puede escribir un carácter, una matriz de caracteres o una cadena seguida del terminador de línea de forma asincrónica con uno de los métodos WriteLineAsync.
Nota
Este tipo implementa la interfaz IDisposable, pero realmente no tiene ningún recurso para eliminar. Esto significa que no es necesario eliminarlo llamando directamente a Dispose() o mediante una construcción de lenguaje como using
(en C#) o Using
(en Visual Basic).
En la tabla siguiente se enumeran ejemplos de otras tareas de E/S típicas o relacionadas.
Para hacer esto... | Vea el ejemplo de este tema... |
---|---|
Cree un archivo de texto. | Cómo: Escribir texto en un archivo |
Escribir en un archivo de texto. | Cómo: Escribir texto en un archivo |
Lee desde un archivo de texto. | Cómo: Leer texto de un de archivos |
Anexe texto a un archivo. |
Cómo: Abrir y anexar a un archivo de registro File.AppendText FileInfo.AppendText |
Obtenga el tamaño de un archivo. | FileInfo.Length |
Obtiene los atributos de un archivo. | File.GetAttributes |
Establezca los atributos de un archivo. | File.SetAttributes |
Determine si existe un archivo. | File.Exists |
Lee desde un archivo binario. | Cómo: Leer y escribir en un archivo de datos recién creado |
Escribir en un archivo binario. | Cómo: Leer y escribir en un archivo de datos recién creado |
Constructores
StringWriter() |
Inicializa una nueva instancia de la clase StringWriter. |
StringWriter(IFormatProvider) |
Inicializa una nueva instancia de la clase StringWriter con el control de formato especificado. |
StringWriter(StringBuilder) |
Inicializa una nueva instancia de la clase StringWriter que escribe en el StringBuilderespecificado. |
StringWriter(StringBuilder, IFormatProvider) |
Inicializa una nueva instancia de la clase StringWriter que escribe en el StringBuilder especificado y tiene el proveedor de formato especificado. |
Campos
CoreNewLine |
Almacena los caracteres de nueva línea usados para este |
Propiedades
Encoding |
Obtiene el Encoding en el que se escribe la salida. |
FormatProvider |
Obtiene un objeto que controla el formato. (Heredado de TextWriter) |
NewLine |
Obtiene o establece la cadena de terminador de línea usada por el |
Métodos
Close() |
Cierra el StringWriter actual y la secuencia subyacente. |
Close() |
Cierra el escritor actual y libera los recursos del sistema asociados al escritor. (Heredado de TextWriter) |
CreateObjRef(Type) |
Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
Dispose() |
Libera todos los recursos utilizados por el objeto TextWriter. (Heredado de TextWriter) |
Dispose(Boolean) |
Libera los recursos no administrados usados por el StringWriter y, opcionalmente, libera los recursos administrados. |
DisposeAsync() |
Libera de forma asincrónica todos los recursos utilizados por el objeto TextWriter. (Heredado de TextWriter) |
Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
Flush() |
Borra todos los búferes del escritor actual y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente. (Heredado de TextWriter) |
FlushAsync() |
Borra de forma asincrónica todos los búferes del escritor actual y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente. |
FlushAsync() |
Borra de forma asincrónica todos los búferes del escritor actual y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente. (Heredado de TextWriter) |
FlushAsync(CancellationToken) |
Borra de forma asincrónica todos los búferes del escritor actual y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente. (Heredado de TextWriter) |
GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
GetLifetimeService() |
Obsoletos.
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
GetStringBuilder() |
Devuelve el StringBuildersubyacente . |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
InitializeLifetimeService() |
Obsoletos.
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
MemberwiseClone(Boolean) |
Crea una copia superficial del objeto MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
ToString() |
Devuelve una cadena que contiene los caracteres escritos en el |
Write(Boolean) |
Escribe la representación de texto de un valor de |
Write(Char) |
Escribe un carácter en la cadena. |
Write(Char[]) |
Escribe una matriz de caracteres en la secuencia de texto. (Heredado de TextWriter) |
Write(Char[], Int32, Int32) |
Escribe una subbarray de caracteres en la cadena. |
Write(Decimal) |
Escribe la representación de texto de un valor decimal en la secuencia de texto. (Heredado de TextWriter) |
Write(Double) |
Escribe la representación de texto de un valor de punto flotante de 8 bytes en la secuencia de texto. (Heredado de TextWriter) |
Write(Int32) |
Escribe la representación de texto de un entero con signo de 4 bytes en la secuencia de texto. (Heredado de TextWriter) |
Write(Int64) |
Escribe la representación de texto de un entero con signo de 8 bytes en la secuencia de texto. (Heredado de TextWriter) |
Write(Object) |
Escribe la representación de texto de un objeto en la secuencia de texto llamando al método |
Write(ReadOnlySpan<Char>) |
Escribe la representación de cadena de un intervalo de caracteres en la cadena actual. |
Write(ReadOnlySpan<Char>) |
Escribe un intervalo de caracteres en la secuencia de texto. (Heredado de TextWriter) |
Write(Single) |
Escribe la representación de texto de un valor de punto flotante de 4 bytes en la secuencia de texto. (Heredado de TextWriter) |
Write(String) |
Escribe una cadena en la cadena actual. |
Write(String, Object) |
Escribe una cadena con formato en la secuencia de texto, utilizando la misma semántica que el método Format(String, Object). (Heredado de TextWriter) |
Write(String, Object, Object) |
Escribe una cadena con formato en la secuencia de texto con la misma semántica que el método Format(String, Object, Object). (Heredado de TextWriter) |
Write(String, Object, Object, Object) |
Escribe una cadena con formato en la secuencia de texto, utilizando la misma semántica que el método Format(String, Object, Object, Object). (Heredado de TextWriter) |
Write(String, Object[]) |
Escribe una cadena con formato en la secuencia de texto, utilizando la misma semántica que el método Format(String, Object[]). (Heredado de TextWriter) |
Write(String, ReadOnlySpan<Object>) |
Escribe una cadena con formato en la secuencia de texto, con la misma semántica que Format(String, ReadOnlySpan<Object>). (Heredado de TextWriter) |
Write(StringBuilder) |
Escribe la representación de cadena de un generador de cadenas en la cadena actual. |
Write(StringBuilder) |
Escribe un generador de cadenas en la secuencia de texto. (Heredado de TextWriter) |
Write(UInt32) |
Escribe la representación de texto de un entero de 4 bytes sin signo en la secuencia de texto. (Heredado de TextWriter) |
Write(UInt64) |
Escribe la representación de texto de un entero de 8 bytes sin signo en la secuencia de texto. (Heredado de TextWriter) |
WriteAsync(Char) |
Escribe un carácter en la cadena de forma asincrónica. |
WriteAsync(Char) |
Escribe un carácter en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteAsync(Char[]) |
Escribe una matriz de caracteres en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteAsync(Char[], Int32, Int32) |
Escribe una subbarra de caracteres en la cadena de forma asincrónica. |
WriteAsync(Char[], Int32, Int32) |
Escribe una subbarra de caracteres en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Escribe de forma asincrónica una región de memoria de caracteres en la cadena. |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Escribe de forma asincrónica una región de memoria de caracteres en la secuencia de texto. (Heredado de TextWriter) |
WriteAsync(String) |
Escribe una cadena en la cadena actual de forma asincrónica. |
WriteAsync(String) |
Escribe una cadena en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteAsync(StringBuilder, CancellationToken) |
Escribe de forma asincrónica la representación de texto de un generador de cadenas en la cadena. |
WriteAsync(StringBuilder, CancellationToken) |
Escribe de forma asincrónica un generador de cadenas en la secuencia de texto. (Heredado de TextWriter) |
WriteLine() |
Escribe un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(Boolean) |
Escribe la representación de texto de un valor de |
WriteLine(Char) |
Escribe un carácter en la secuencia de texto, seguido de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Char[]) |
Escribe una matriz de caracteres en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Char[], Int32, Int32) |
Escribe una subbarra de caracteres en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Decimal) |
Escribe la representación de texto de un valor decimal en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Double) |
Escribe la representación de texto de un valor de punto flotante de 8 bytes en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Int32) |
Escribe la representación de texto de un entero con signo de 4 bytes en la secuencia de texto, seguido de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Int64) |
Escribe la representación de texto de un entero con signo de 8 bytes en la secuencia de texto, seguido de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Object) |
Escribe la representación de texto de un objeto en la secuencia de texto llamando al método |
WriteLine(ReadOnlySpan<Char>) |
Escribe la representación de texto un intervalo de caracteres en la cadena, seguido de un terminador de línea. |
WriteLine(ReadOnlySpan<Char>) |
Escribe la representación de texto de un intervalo de caracteres en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(Single) |
Escribe la representación de texto de un valor de punto flotante de 4 bytes en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(String) |
Escribe una cadena en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(String, Object) |
Escribe una cadena con formato y una nueva línea en la secuencia de texto, utilizando la misma semántica que el método Format(String, Object). (Heredado de TextWriter) |
WriteLine(String, Object, Object) |
Escribe una cadena con formato y una nueva línea en la secuencia de texto, utilizando la misma semántica que el método Format(String, Object, Object). (Heredado de TextWriter) |
WriteLine(String, Object, Object, Object) |
Escribe una cadena con formato y una nueva línea en la secuencia de texto, con la misma semántica que Format(String, Object). (Heredado de TextWriter) |
WriteLine(String, Object[]) |
Escribe una cadena con formato y una nueva línea en la secuencia de texto, con la misma semántica que Format(String, Object). (Heredado de TextWriter) |
WriteLine(String, ReadOnlySpan<Object>) |
Escribe una cadena con formato y una nueva línea en la secuencia de texto, con la misma semántica que Format(String, ReadOnlySpan<Object>). (Heredado de TextWriter) |
WriteLine(StringBuilder) |
Escribe la representación de texto de un generador de cadenas en la cadena, seguida de un terminador de línea. |
WriteLine(StringBuilder) |
Escribe la representación de texto de un generador de cadenas en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(UInt32) |
Escribe la representación de texto de un entero de 4 bytes sin signo en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLine(UInt64) |
Escribe la representación de texto de un entero de 8 bytes sin signo en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLineAsync() |
Escribe de forma asincrónica un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLineAsync(Char) |
Escribe de forma asincrónica un carácter en la cadena, seguido de un terminador de línea. |
WriteLineAsync(Char) |
Escribe de forma asincrónica un carácter en la secuencia de texto, seguido de un terminador de línea. (Heredado de TextWriter) |
WriteLineAsync(Char[]) |
Escribe de forma asincrónica una matriz de caracteres en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLineAsync(Char[], Int32, Int32) |
escribe asincrónicamente una subbarray de caracteres en la cadena, seguida de un terminador de línea. |
WriteLineAsync(Char[], Int32, Int32) |
Escribe de forma asincrónica una subbarray de caracteres en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Escribe asincrónicamente la representación de cadena de la región de memoria de caracteres en la cadena actual, seguida de un terminador de línea. |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Escribe de forma asincrónica la representación de texto de una región de memoria de caracteres en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLineAsync(String) |
Escribe de forma asincrónica una cadena en la cadena actual, seguida de un terminador de línea. |
WriteLineAsync(String) |
Escribe de forma asincrónica una cadena en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
WriteLineAsync(StringBuilder, CancellationToken) |
Escribe de forma asincrónica la representación de cadena del generador de cadenas en la cadena actual, seguida de un terminador de línea. |
WriteLineAsync(StringBuilder, CancellationToken) |
Escribe de forma asincrónica la representación de texto de un generador de cadenas en la secuencia de texto, seguida de un terminador de línea. (Heredado de TextWriter) |
Implementaciones de interfaz explícitas
IDisposable.Dispose() |
Para obtener una descripción de este miembro, consulte Dispose(). (Heredado de TextWriter) |
Métodos de extensión
ConfigureAwait(IAsyncDisposable, Boolean) |
Configura cómo se realizarán las esperas en las tareas devueltas desde un descartable asincrónico. |
Se aplica a
Consulte también
- StringBuilder
- StringReader
- de E/S de flujo y archivos
- Cómo: Leer texto de un de archivos
- Cómo: Escribir texto en un archivo