StringWriter Classe

Definizione

Implementa un oggetto TextWriter per la scrittura di informazioni in una stringa. Le informazioni vengono archiviate in un oggetto StringBuilder sottostante.

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
Ereditarietà
StringWriter
Ereditarietà
Attributi

Esempio

Nell'esempio di codice seguente viene illustrata la creazione di un paragrafo continuo da un gruppo di frasi a spaziatura doppia e quindi la conversione del paragrafo nel testo originale.

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

Commenti

StringWriter consente di scrivere in una stringa in modo sincrono o asincrono. È possibile scrivere un carattere alla volta con o Write(Char) il WriteAsync(Char) metodo , una stringa alla volta usando il Write(String) metodo o WriteAsync(String) . Inoltre, è possibile scrivere un carattere, una matrice di caratteri o una stringa seguita dal terminatore di riga in modo asincrono con uno dei WriteLineAsync metodi .

Nota

Questo tipo implementa l'interfaccia IDisposable, ma attualmente non ha risorse da eliminare. Questo significa che non è necessario eliminarlo chiamando direttamente Dispose() o tramite un costrutto del linguaggio, come using (in C#) o Using (in Visual Basic).

Nella tabella seguente sono elencati esempi di altre attività di I/O tipiche o correlate.

Per eseguire questa operazione... Vedere l'esempio riportato in questo argomento...
Creare un file di testo. Procedura: Scrivere un testo in un file
Scrivere in un file di testo. Procedura: Scrivere un testo in un file
Leggere da un file di testo. Procedura: Leggere testo da un file
Aggiungere testo a un file. Procedura: Aprire e accodare un file di log

File.AppendText

FileInfo.AppendText
Ottenere le dimensioni di un file. FileInfo.Length
Ottiene gli attributi di un file. File.GetAttributes
Impostare gli attributi di un file. File.SetAttributes
Determinare se esiste un file. File.Exists
Leggere da un file binario. Procedura: Leggere e scrivere su un file di dati appena creato
Scrivere in un file binario. Procedura: Leggere e scrivere su un file di dati appena creato

Costruttori

StringWriter()

Inizializza una nuova istanza della classe StringWriter.

StringWriter(IFormatProvider)

Inizializza una nuova istanza della classe StringWriter con il controllo di formato specificato.

StringWriter(StringBuilder)

Inizializza una nuova istanza della classe StringWriter che scrive nell'oggetto StringBuilder specificato.

StringWriter(StringBuilder, IFormatProvider)

Inizializza una nuova istanza della classe StringWriter che scrive nell'oggetto StringBuilder specificato e include il provider di formato specificato.

Campi

CoreNewLine

Archivia i caratteri di nuova riga usati per questo TextWriter.

(Ereditato da TextWriter)

Proprietà

Encoding

Ottiene l'oggetto Encoding in cui viene scritto l'output.

FormatProvider

Ottiene un oggetto che controlla la formattazione.

(Ereditato da TextWriter)
NewLine

Recupera o imposta la stringa di terminazione di riga usata dall'oggetto TextWriter corrente.

(Ereditato da TextWriter)

Metodi

Close()

Chiude l'oggetto StringWriter corrente e il flusso sottostante.

Close()

Chiude il writer corrente e rilascia eventuali risorse di sistema a esso associate.

(Ereditato da TextWriter)
CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate dall'oggetto TextWriter.

(Ereditato da TextWriter)
Dispose(Boolean)

Rilascia le risorse non gestite usate da StringWriter e, facoltativamente, le risorse gestite.

DisposeAsync()

Rilascia in modo asincrono tutte le risorse usate dall'oggetto TextWriter.

(Ereditato da TextWriter)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Flush()

Cancella i dati di tutti i buffer del writer corrente e consente la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante.

(Ereditato da TextWriter)
FlushAsync()

Cancella in modo asincrono i dati di tutti i buffer del writer corrente e consente la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante.

FlushAsync()

Cancella in modo asincrono i dati di tutti i buffer del writer corrente e consente la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante.

(Ereditato da TextWriter)
FlushAsync(CancellationToken)

Cancella in modo asincrono i dati di tutti i buffer del writer corrente e consente la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante.

(Ereditato da TextWriter)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleti.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetStringBuilder()

Restituisce l'oggetto StringBuilder sottostante.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
ToString()

Restituisce una stringa che contiene i caratteri finora scritti nella StringWriter corrente.

Write(Boolean)

Inserisce nel flusso di testo la rappresentazione testuale di un valore Boolean.

(Ereditato da TextWriter)
Write(Char)

Scrive un carattere nella stringa.

Write(Char[])

Scrive una matrice di caratteri nel flusso di testo.

(Ereditato da TextWriter)
Write(Char[], Int32, Int32)

Scrive una sottomatrice di caratteri nella stringa.

Write(Decimal)

Scrive nel flusso di testo la rappresentazione testuale di un valore decimale.

(Ereditato da TextWriter)
Write(Double)

Scrive nel flusso di testo la rappresentazione testuale di un valore a virgola mobile a 8 byte.

(Ereditato da TextWriter)
Write(Int32)

Scrive nel flusso di testo la rappresentazione testuale di un intero a 4 byte con segno.

(Ereditato da TextWriter)
Write(Int64)

Scrive nel flusso di testo la rappresentazione testuale di un intero a 8 byte con segno.

(Ereditato da TextWriter)
Write(Object)

Scrive nel flusso di testo la rappresentazione testuale di un oggetto chiamando il metodo ToString su tale oggetto.

(Ereditato da TextWriter)
Write(ReadOnlySpan<Char>)

Scrive la rappresentazione stringa di un intervallo di caratteri nella stringa corrente.

Write(ReadOnlySpan<Char>)

Scrive un intervallo di caratteri nel flusso di testo.

(Ereditato da TextWriter)
Write(Single)

Scrive nel flusso di testo la rappresentazione testuale di un valore a virgola mobile a 4 byte.

(Ereditato da TextWriter)
Write(String)

Scrive una stringa nella stringa corrente.

Write(String, Object)

Scrive una stringa formattata nel flusso di testo, usando la stessa semantica del metodo Format(String, Object).

(Ereditato da TextWriter)
Write(String, Object, Object)

Scrive una stringa formattata nel flusso di testo, usando la stessa semantica del metodo Format(String, Object, Object).

(Ereditato da TextWriter)
Write(String, Object, Object, Object)

Scrive una stringa formattata nel flusso di testo, usando la stessa semantica del metodo Format(String, Object, Object, Object).

(Ereditato da TextWriter)
Write(String, Object[])

Scrive una stringa formattata nel flusso di testo, usando la stessa semantica del metodo Format(String, Object[]).

(Ereditato da TextWriter)
Write(StringBuilder)

Scrive nella stringa corrente la rappresentazione stringa di un generatore di stringhe.

Write(StringBuilder)

Scrive un generatore di stringhe nel flusso di testo.

(Ereditato da TextWriter)
Write(UInt32)

Scrive nel flusso di testo la rappresentazione testuale di un intero a 4 byte senza segno.

(Ereditato da TextWriter)
Write(UInt64)

Scrive nel flusso di testo la rappresentazione testuale di un intero a 8 byte senza segno.

(Ereditato da TextWriter)
WriteAsync(Char)

Scrive un carattere nella stringa in modo asincrono.

WriteAsync(Char)

Scrive un carattere nel flusso di testo in modo asincrono.

(Ereditato da TextWriter)
WriteAsync(Char[])

Scrive una matrice di caratteri in modo asincrono nel flusso di testo.

(Ereditato da TextWriter)
WriteAsync(Char[], Int32, Int32)

Scrive una sottomatrice di caratteri nella stringa in modo asincrono.

WriteAsync(Char[], Int32, Int32)

Scrive una sottomatrice di caratteri nel flusso di testo in modo asincrono.

(Ereditato da TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Scrive in modo asincrono un'area di memoria di caratteri nella stringa.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Scrive in modo asincrono un'area di memoria dei caratteri nel flusso di testo.

(Ereditato da TextWriter)
WriteAsync(String)

Scrive una stringa nella stringa corrente in modo asincrono.

WriteAsync(String)

Scrive una stringa nel flusso di testo in modo asincrono.

(Ereditato da TextWriter)
WriteAsync(StringBuilder, CancellationToken)

Scrive in modo asincrono nella stringa la rappresentazione testuale di un generatore di stringhe.

WriteAsync(StringBuilder, CancellationToken)

Scrive in modo asincrono un generatore di stringhe nel flusso di testo.

(Ereditato da TextWriter)
WriteLine()

Scrive un terminatore di riga nel flusso di testo.

(Ereditato da TextWriter)
WriteLine(Boolean)

Scrivere la rappresentazione testuale di un valore Boolean nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(Char)

Scrive un carattere nel flusso di testo, seguito da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(Char[])

Scrive una matrice di caratteri nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(Char[], Int32, Int32)

Scrive una sottomatrice di caratteri nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(Decimal)

Scrive la rappresentazione testuale di un valore decimale nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(Double)

Scrive la rappresentazione testuale di un valore a virgola mobile a 8 byte nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(Int32)

Scrive la rappresentazione testuale di un intero a 4 byte con segno nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(Int64)

Scrive la rappresentazione testuale di un intero a 8 byte con segno nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(Object)

Scrive la rappresentazione testuale di un oggetto nel flusso di testo, chiamando il metodo ToString sull'oggetto, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(ReadOnlySpan<Char>)

Scrive nella stringa la rappresentazione testuale di un intervallo di caratteri, seguita da un terminatore di riga.

WriteLine(ReadOnlySpan<Char>)

Scrive nel flusso di testo la rappresentazione testuale di un intervallo di caratteri, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(Single)

Scrive la rappresentazione testuale di un valore a virgola mobile a 4 byte nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(String)

Scrive una stringa nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(String, Object)

Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica del metodo Format(String, Object).

(Ereditato da TextWriter)
WriteLine(String, Object, Object)

Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica del metodo Format(String, Object, Object).

(Ereditato da TextWriter)
WriteLine(String, Object, Object, Object)

Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica di Format(String, Object).

(Ereditato da TextWriter)
WriteLine(String, Object[])

Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica di Format(String, Object).

(Ereditato da TextWriter)
WriteLine(StringBuilder)

Scrive nella stringa la rappresentazione testuale di un generatore di stringhe, seguita da un terminatore di riga.

WriteLine(StringBuilder)

Scrive nel flusso di testo la rappresentazione testuale di un generatore di stringhe, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(UInt32)

Scrive la rappresentazione testuale di un intero a 4 byte senza segno nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLine(UInt64)

Scrive la rappresentazione testuale di un intero a 8 byte senza segno nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLineAsync()

Scrive in modo asincrono un terminatore di riga nel flusso di testo.

(Ereditato da TextWriter)
WriteLineAsync(Char)

Scrive in modo asincrono un carattere nella stringa, seguito da un terminatore di riga.

WriteLineAsync(Char)

Scrive un carattere in modo asincrono nel flusso di testo, seguito da un terminatore di riga.

(Ereditato da TextWriter)
WriteLineAsync(Char[])

Scrive in modo asincrono una matrice di caratteri nel flusso di testo, seguiti da un terminatore di riga.

(Ereditato da TextWriter)
WriteLineAsync(Char[], Int32, Int32)

Scrive in modo asincrono una sottomatrice di caratteri nella stringa, seguiti da un terminatore di riga.

WriteLineAsync(Char[], Int32, Int32)

Scrive in modo asincrono una sottomatrice di caratteri nel flusso di testo, seguiti da un terminatore di riga.

(Ereditato da TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Scrive in modo asincrono la rappresentazione stringa dell'area di memoria dei caratteri nella stringa corrente, seguita da un terminatore di riga.

WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Scrive in modo asincrono la rappresentazione testuale di un'area di memoria dei caratteri nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLineAsync(String)

Scrive in modo asincrono una stringa nella stringa corrente, seguita da un terminatore di riga.

WriteLineAsync(String)

Scrive una stringa in modo asincrono nel flusso di testo, seguita da un terminatore di riga.

(Ereditato da TextWriter)
WriteLineAsync(StringBuilder, CancellationToken)

Scrive in modo asincrono la rappresentazione stringa del generatore di stringhe nella stringa corrente, seguita da un terminatore di riga.

WriteLineAsync(StringBuilder, CancellationToken)

Scrive in modo asincrono nel flusso di testo la rappresentazione testuale di un generatore di stringhe, seguita da un terminatore di riga.

(Ereditato da TextWriter)

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

Per una descrizione di questo membro, vedere Dispose().

(Ereditato da TextWriter)

Metodi di estensione

ConfigureAwait(IAsyncDisposable, Boolean)

Consente di configurare la modalità di esecuzione delle espressioni await per le attività restituite da un elemento disposable asincrono.

Si applica a

Vedi anche