StringWriter Clase

Definición

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
StringWriter
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 TextWriter.

(Heredado de TextWriter)

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 TextWriter actual.

(Heredado de TextWriter)

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()
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 StringBuilder subyacente.

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 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 StringWriter actual hasta ahora.

Write(Boolean)

Escribe la representación de texto de un valor Boolean en la secuencia de texto.

(Heredado de TextWriter)
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 ToString en ese objeto.

(Heredado de TextWriter)
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 Boolean seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
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 ToString en ese objeto, seguida de un terminador de línea en la secuencia de texto.

(Heredado de TextWriter)
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.

Se aplica a

Consulte también