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 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à
- 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 |
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 |
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 |
Write(Boolean) |
Inserisce 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 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 |
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 |
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 |
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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per