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 StringBuilder subyacente.
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 espaciadas dobles 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)WriteAsync(Char) método o , una cadena a la vez mediante el Write(String)WriteAsync(String) método o . 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 WriteLineAsync métodos .
Nota:
Este tipo implementa la interfaz de IDisposable, pero no ofrece ningún recurso. Esto quiere decir que no es necesario llamar a Dispose() ni usar ningún lenguaje de construcción como using
(en C#) o Using
(en Visual Basic) para disponer de él.
En la tabla siguiente se enumeran ejemplos de otras tareas de E/S típicas o relacionadas.
Para... | Vea el ejemplo de este tema... |
---|---|
Crear 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 archivo |
Anexar texto a un archivo. | Cómo: Abrir y anexar a un archivo de registro File.AppendText FileInfo.AppendText |
Obtiene el tamaño de un archivo. | FileInfo.Length |
Obtenga 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 |
Escriba 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 elemento StringBuilder especificado. |
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 el |
Propiedades
Encoding |
Obtiene el Encoding donde se escribe el resultado. |
FormatProvider |
Obtiene un objeto que controla las operaciones de 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 sistema de escritura actual y libera todos los recursos del sistema asociados al sistema de escritura. (Heredado de TextWriter) |
CreateObjRef(Type) |
Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado 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 que usa StringWriter y, de forma opcional, libera los recursos administrados. |
DisposeAsync() |
Libera de forma asincrónica todos los recursos que usa el objeto TextWriter. (Heredado de TextWriter) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
Flush() |
Borra todos los búferes del sistema de escritura actual y hace que todos los datos almacenados en el búfer se escriban en el dispositivo subyacente. (Heredado de TextWriter) |
FlushAsync() |
Borra asincrónicamente todos los búferes del sistema de escritura actual y hace que todos los datos almacenados en el búfer se escriban en el dispositivo subyacente. |
FlushAsync() |
Borra asincrónicamente todos los búferes del sistema de escritura actual y hace que todos los datos almacenados en el búfer se escriban en el dispositivo subyacente. (Heredado de TextWriter) |
FlushAsync(CancellationToken) |
Borra asincrónicamente todos los búferes del sistema de escritura actual y hace que todos los datos almacenados en el búfer se escriban en el dispositivo subyacente. (Heredado de TextWriter) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetLifetimeService() |
Obsoleto.
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 StringBuilder subyacente. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
InitializeLifetimeService() |
Obsoleto.
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 Object actual. (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 |
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 submatriz 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 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 mediante una llamada al método |
Write(ReadOnlySpan<Char>) |
Escribe la representación en forma 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 con 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 con 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 con la misma semántica que el método Format(String, Object[]). (Heredado de TextWriter) |
Write(StringBuilder) |
Escribe la representación en forma de cadena de un generador de cadena 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 sin signo de 4 bytes en la secuencia de texto. (Heredado de TextWriter) |
Write(UInt64) |
Escribe la representación de texto de un entero sin signo de 8 bytes 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 submatriz de caracteres en la cadena de forma asincrónica. |
WriteAsync(Char[], Int32, Int32) |
Escribe una submatriz 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 una región de la memoria de caracteres en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteAsync(String) |
Escribe una cadena en la cadena actual. |
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 en forma de texto de un generador de cadena en la cadena. |
WriteAsync(StringBuilder, CancellationToken) |
Escribe un generador de cadenas en la secuencia de texto de forma asincrónica. (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 |
WriteLine(Char) |
Escribe un carácter seguido de un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(Char[]) |
Escribe una matriz de caracteres seguida de un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(Char[], Int32, Int32) |
Escribe una submatriz de caracteres seguida de un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(Decimal) |
Escribe la representación de texto de un valor decimal seguida de un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(Double) |
Escribe la representación de texto de un valor de punto flotante de 8 bytes seguida de un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(Int32) |
Escribe la representación de texto de un entero con signo de 4 bytes seguida de un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(Int64) |
Escribe la representación de texto de un entero con signo de 8 bytes seguida de un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(Object) |
Escribe la representación de texto de un objeto mediante una llamada al método |
WriteLine(ReadOnlySpan<Char>) |
Escribe la representación en forma de texto de un intervalo de caracteres en la cadena, seguida de un terminador de línea. |
WriteLine(ReadOnlySpan<Char>) |
Escribe la representación de texto de un intervalo de caracteres seguida de un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(Single) |
Escribe la representación de texto de un valor de punto flotante de 4 bytes seguida de un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(String) |
Escribe una cadena seguida de un terminador de línea en la secuencia de texto. (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 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 con 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 línea nueva 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 línea nueva en la secuencia de texto con la misma semántica que Format(String, Object). (Heredado de TextWriter) |
WriteLine(StringBuilder) |
Escribe la representación en forma de texto de un generador de cadena en la cadena, seguida de un terminador de línea. |
WriteLine(StringBuilder) |
Escribe la representación de texto de un generador de cadenas seguida de un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(UInt32) |
Escribe la representación de texto de un entero sin signo de 4 bytes seguida de un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLine(UInt64) |
Escribe la representación de texto de un entero sin signo de 8 bytes seguida de un terminador de línea en la secuencia de texto. (Heredado de TextWriter) |
WriteLineAsync() |
Escribe un terminador de línea en la secuencia de texto de forma asincrónica. (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 un carácter seguido de un terminador de línea en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteLineAsync(Char[]) |
Escribe una matriz de caracteres seguida de un terminador de línea en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteLineAsync(Char[], Int32, Int32) |
Escribe de forma asincrónica una submatriz de caracteres en la cadena, seguida de un terminador de línea. |
WriteLineAsync(Char[], Int32, Int32) |
Escribe una submatriz de caracteres seguida de un terminador de línea en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Escribe de forma asincrónica la representación en forma 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 la representación de texto de una región de memoria de caracteres seguida de un terminador de línea en la secuencia de texto de forma asincrónica. (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 una cadena seguida de un terminador de línea en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
WriteLineAsync(StringBuilder, CancellationToken) |
Escribe de forma asincrónica la representación en forma de cadena del generador de cadena en la cadena actual, seguida de un terminador de línea. |
WriteLineAsync(StringBuilder, CancellationToken) |
Escribe la representación de texto de un generador de cadenas seguida de un terminador de línea en la secuencia de texto de forma asincrónica. (Heredado de TextWriter) |
Implementaciones de interfaz explícitas
IDisposable.Dispose() |
Para obtener una descripción de este miembro, vea Dispose(). (Heredado de TextWriter) |
Métodos de extensión
ConfigureAwait(IAsyncDisposable, Boolean) |
Configura la forma en la que se realizan las expresiones await en las tareas devueltas desde un elemento asincrónico descartable. |