StringWriter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Implementa un TextWriter per scrivere informazioni in una stringa. Le informazioni vengono archiviate in un StringBuildersottostante.
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à
- Ereditarietà
- Attributi
Esempio
Nell'esempio di codice seguente viene illustrata la creazione di un paragrafo continuo da un gruppo di frasi con 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 il Write(Char) o il metodo WriteAsync(Char), una stringa alla volta usando il Write(String) o il metodo 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 metodi WriteLineAsync.
Nota
Questo tipo implementa l'interfaccia IDisposable, ma non dispone effettivamente di risorse da eliminare. Ciò significa che non è necessario eliminarlo chiamando direttamente Dispose() o usando un costrutto di linguaggio, ad esempio using
(in C#) o Using
(in Visual Basic).
Nella tabella seguente sono elencati esempi di altre attività di I/O tipiche o correlate.
A questo scopo... | Vedere l'esempio in questo argomento... |
---|---|
Creare un file di testo. | Procedura: Scrivere testo in un di file |
Scrivere in un file di testo. | Procedura: Scrivere testo in un di file |
Leggere da un file di testo. | Procedura: Leggere testo da un file |
Aggiungere testo a un file. |
Procedura: Aprire e accodare a un file di log File.AppendText FileInfo.AppendText |
Ottenere le dimensioni di un file. | FileInfo.Length |
Ottenere 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 in un file di dati appena creato |
Scrivere in un file binario. | Procedura: Leggere e scrivere in 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 formato specificato. |
StringWriter(StringBuilder) |
Inizializza una nuova istanza della classe StringWriter che scrive nel StringBuilderspecificato. |
StringWriter(StringBuilder, IFormatProvider) |
Inizializza una nuova istanza della classe StringWriter che scrive nel StringBuilder specificato e ha il provider di formato specificato. |
Campi
CoreNewLine |
Archivia i caratteri di nuova riga usati per questo |
Proprietà
Encoding |
Ottiene il Encoding in cui viene scritto l'output. |
FormatProvider |
Ottiene un oggetto che controlla la formattazione. (Ereditato da TextWriter) |
NewLine |
Ottiene o imposta la stringa del terminatore di riga utilizzata dal |
Metodi
Close() |
Chiude il StringWriter corrente e il flusso sottostante. |
Close() |
Chiude il writer corrente e rilascia tutte le risorse di sistema associate al writer. (Ereditato da TextWriter) |
CreateObjRef(Type) |
Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare 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 dal StringWriter e, facoltativamente, rilascia 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 tutti i buffer per il writer corrente e determina la scrittura di tutti i dati memorizzati nel buffer nel dispositivo sottostante. (Ereditato da TextWriter) |
FlushAsync() |
Cancella in modo asincrono tutti i buffer per il writer corrente e determina la scrittura di tutti i dati memorizzati nel buffer nel dispositivo sottostante. |
FlushAsync() |
Cancella in modo asincrono tutti i buffer per il writer corrente e determina la scrittura di tutti i dati memorizzati nel buffer nel dispositivo sottostante. (Ereditato da TextWriter) |
FlushAsync(CancellationToken) |
Cancella in modo asincrono tutti i buffer per il writer corrente e determina la scrittura di tutti i dati memorizzati nel buffer nel dispositivo sottostante. (Ereditato da TextWriter) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetLifetimeService() |
Obsoleti.
Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
GetStringBuilder() |
Restituisce il StringBuildersottostante. |
GetType() |
Ottiene il 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 del Objectcorrente. (Ereditato da Object) |
MemberwiseClone(Boolean) |
Crea una copia superficiale dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject) |
ToString() |
Restituisce una stringa contenente i caratteri scritti nel |
Write(Boolean) |
Scrive nel flusso di testo la rappresentazione testuale di un valore |
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 sottomaschera di caratteri nella stringa. |
Write(Decimal) |
Scrive la rappresentazione testuale di un valore decimale nel flusso di testo. (Ereditato da TextWriter) |
Write(Double) |
Scrive la rappresentazione testuale di un valore a virgola mobile a 8 byte nel flusso di testo. (Ereditato da TextWriter) |
Write(Int32) |
Scrive la rappresentazione testuale di un intero con segno a 4 byte nel flusso di testo. (Ereditato da TextWriter) |
Write(Int64) |
Scrive la rappresentazione testuale di un intero con segno a 8 byte nel flusso di testo. (Ereditato da TextWriter) |
Write(Object) |
Scrive la rappresentazione testuale di un oggetto nel flusso di testo chiamando il metodo |
Write(ReadOnlySpan<Char>) |
Scrive la rappresentazione di 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 la rappresentazione testuale di un valore a virgola mobile a 4 byte nel flusso di testo. (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(String, ReadOnlySpan<Object>) |
Scrive una stringa formattata nel flusso di testo usando la stessa semantica di Format(String, ReadOnlySpan<Object>). (Ereditato da TextWriter) |
Write(StringBuilder) |
Scrive la rappresentazione di stringa di un generatore di stringhe nella stringa corrente. |
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 senza segno a 4 byte. (Ereditato da TextWriter) |
Write(UInt64) |
Scrive la rappresentazione testuale di un intero senza segno a 8 byte nel flusso di testo. (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 nel flusso di testo in modo asincrono. (Ereditato da TextWriter) |
WriteAsync(Char[], Int32, Int32) |
Scrive una sottomaschera di caratteri nella stringa in modo asincrono. |
WriteAsync(Char[], Int32, Int32) |
Scrive una sottomaschera 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 di 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 la rappresentazione testuale di un generatore di stringhe nella stringa. |
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) |
Scrive la rappresentazione testuale di un valore |
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 sottomaschera 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, seguito da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(Int32) |
Scrive la rappresentazione testuale di un intero con segno a 4 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(Int64) |
Scrive la rappresentazione testuale di un intero con segno a 8 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(Object) |
Scrive la rappresentazione testuale di un oggetto nel flusso di testo chiamando il metodo |
WriteLine(ReadOnlySpan<Char>) |
Scrive nella stringa una rappresentazione testuale di un intervallo di caratteri, seguito da un terminatore di riga. |
WriteLine(ReadOnlySpan<Char>) |
Scrive la rappresentazione testuale di un intervallo di caratteri nel flusso di testo, 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, seguito 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(String, ReadOnlySpan<Object>) |
Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica di Format(String, ReadOnlySpan<Object>). (Ereditato da TextWriter) |
WriteLine(StringBuilder) |
Scrive la rappresentazione testuale di un generatore di stringhe nella stringa, seguita da un terminatore di riga. |
WriteLine(StringBuilder) |
Scrive la rappresentazione testuale di un generatore di stringhe nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(UInt32) |
Scrive la rappresentazione testuale di un intero senza segno a 4 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
WriteLine(UInt64) |
Scrive la rappresentazione testuale di un intero senza segno a 8 byte nel flusso di testo, seguito 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 in modo asincrono un carattere 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, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLineAsync(Char[], Int32, Int32) |
scrive in modo asincrono una sottomaschera di caratteri nella stringa, seguita da un terminatore di riga. |
WriteLineAsync(Char[], Int32, Int32) |
Scrive in modo asincrono una sottomaschera di caratteri nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Scrive in modo asincrono la rappresentazione di 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 di 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 in modo asincrono una stringa nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
WriteLineAsync(StringBuilder, CancellationToken) |
Scrive in modo asincrono la rappresentazione di stringa del generatore di stringhe nella stringa corrente, seguita da un terminatore di riga. |
WriteLineAsync(StringBuilder, CancellationToken) |
Scrive in modo asincrono la rappresentazione testuale di un generatore di stringhe nel flusso di testo, 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) |
Configura il modo in cui verranno eseguite le attese nelle attività restituite da un oggetto eliminabile asincrono. |
Si applica a
Vedi anche
- StringBuilder
- StringReader
- di I/O di flusso e file
- Procedura: Leggere testo da un file
- Procedura: Scrivere testo in un di file