StringWriter Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Implementiert eine TextWriter zum Schreiben von Informationen in eine Zeichenfolge. Die Informationen werden in einer zugrunde liegenden StringBuildergespeichert.
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
- Vererbung
- Vererbung
- Attribute
Beispiele
Im folgenden Codebeispiel wird die Erstellung eines fortlaufenden Absatzes aus einer Gruppe doppelter Sätze und anschließend der Konvertierung des Absatzes in den ursprünglichen Text veranschaulicht.
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
Hinweise
mit StringWriter können Sie synchron oder asynchron in eine Zeichenfolge schreiben. Sie können ein Zeichen gleichzeitig mit dem Write(Char) oder der WriteAsync(Char)-Methode, einer Zeichenfolge gleichzeitig mithilfe der Write(String) oder der WriteAsync(String)-Methode schreiben. Darüber hinaus können Sie ein Zeichen, ein Array von Zeichen oder eine Zeichenfolge, gefolgt von dem Zeilenterminator asynchron mit einer der WriteLineAsync Methoden schreiben.
Anmerkung
Dieser Typ implementiert die IDisposable-Schnittstelle, verfügt jedoch nicht über Ressourcen zum Löschen. Dies bedeutet, dass das Löschen durch direktes Aufrufen von Dispose() oder durch Verwenden eines Sprachkonstrukts wie using
(in C#) oder Using
(in Visual Basic) nicht erforderlich ist.
In der folgenden Tabelle sind Beispiele für andere typische oder verwandte E/A-Aufgaben aufgeführt.
Gehen Sie dazu wie folgt vor... | Sehen Sie sich das Beispiel in diesem Thema an... |
---|---|
Erstellen Sie eine Textdatei. | How to: Write Text to a File |
Schreiben in eine Textdatei. | How to: Write Text to a File |
Aus einer Textdatei lesen. | How to: Read Text from a File |
Anfügen von Text an eine Datei. |
Vorgehensweise: Öffnen und Anfügen an eine Protokolldatei File.AppendText FileInfo.AppendText |
Ruft die Größe einer Datei ab. | FileInfo.Length |
Ruft die Attribute einer Datei ab. | File.GetAttributes |
Legen Sie die Attribute einer Datei fest. | File.SetAttributes |
Ermitteln Sie, ob eine Datei vorhanden ist. | File.Exists |
Aus einer Binärdatei lesen. | Gewusst wie: Lesen und Schreiben in eine neu erstellte Datendatei |
Schreiben in eine Binärdatei. | Gewusst wie: Lesen und Schreiben in eine neu erstellte Datendatei |
Konstruktoren
StringWriter() |
Initialisiert eine neue Instanz der StringWriter Klasse. |
StringWriter(IFormatProvider) |
Initialisiert eine neue Instanz der StringWriter Klasse mit dem angegebenen Formatsteuerelement. |
StringWriter(StringBuilder) |
Initialisiert eine neue Instanz der StringWriter Klasse, die in die angegebene StringBuilderschreibt. |
StringWriter(StringBuilder, IFormatProvider) |
Initialisiert eine neue Instanz der StringWriter Klasse, die in die angegebene StringBuilder schreibt und den angegebenen Formatanbieter aufweist. |
Felder
CoreNewLine |
Speichert die für diese |
Eigenschaften
Encoding |
Ruft die Encoding ab, in die die Ausgabe geschrieben wird. |
FormatProvider |
Ruft ein Objekt ab, das die Formatierung steuert. (Geerbt von TextWriter) |
NewLine |
Dient zum Abrufen oder Festlegen der Zeilenterminatorzeichenfolge, die von der aktuellen |
Methoden
Close() |
Schließt die aktuelle StringWriter und den zugrunde liegenden Datenstrom. |
Close() |
Schließt den aktuellen Writer und gibt alle Systemressourcen frei, die dem Writer zugeordnet sind. (Geerbt von TextWriter) |
CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
Dispose() |
Gibt alle vom TextWriter-Objekt verwendeten Ressourcen frei. (Geerbt von TextWriter) |
Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die vom StringWriter verwendet werden, und gibt optional die verwalteten Ressourcen frei. |
DisposeAsync() |
Gibt asynchron alle ressourcen frei, die vom TextWriter-Objekt verwendet werden. (Geerbt von TextWriter) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
Flush() |
Löscht alle Puffer für den aktuellen Writer und bewirkt, dass alle gepufferten Daten auf das zugrunde liegende Gerät geschrieben werden. (Geerbt von TextWriter) |
FlushAsync() |
Löscht asynchron alle Puffer für den aktuellen Writer und bewirkt, dass alle gepufferten Daten auf das zugrunde liegende Gerät geschrieben werden. |
FlushAsync() |
Löscht asynchron alle Puffer für den aktuellen Writer und bewirkt, dass alle gepufferten Daten auf das zugrunde liegende Gerät geschrieben werden. (Geerbt von TextWriter) |
FlushAsync(CancellationToken) |
Löscht asynchron alle Puffer für den aktuellen Writer und bewirkt, dass alle gepufferten Daten auf das zugrunde liegende Gerät geschrieben werden. (Geerbt von TextWriter) |
GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
GetStringBuilder() |
Gibt den zugrunde liegenden StringBuilderzurück. |
GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Geerbt von MarshalByRefObject) |
ToString() |
Gibt eine Zeichenfolge zurück, die die Zeichen enthält, die bisher in den aktuellen |
Write(Boolean) |
Schreibt die Textdarstellung eines |
Write(Char) |
Schreibt ein Zeichen in die Zeichenfolge. |
Write(Char[]) |
Schreibt ein Zeichenarray in den Textstream. (Geerbt von TextWriter) |
Write(Char[], Int32, Int32) |
Schreibt eine Unterarray von Zeichen in die Zeichenfolge. |
Write(Decimal) |
Schreibt die Textdarstellung eines Dezimalwerts in den Textstream. (Geerbt von TextWriter) |
Write(Double) |
Schreibt die Textdarstellung eines 8-Byte-Gleitkommawerts in den Textstream. (Geerbt von TextWriter) |
Write(Int32) |
Schreibt die Textdarstellung einer 4-Byte-Ganzzahl in den Textstream. (Geerbt von TextWriter) |
Write(Int64) |
Schreibt die Textdarstellung einer 8-Byte-Ganzzahl in den Textstream. (Geerbt von TextWriter) |
Write(Object) |
Schreibt die Textdarstellung eines Objekts in den Textstream, indem die |
Write(ReadOnlySpan<Char>) |
Schreibt die Zeichenfolgendarstellung einer Spanne von Zeichen in die aktuelle Zeichenfolge. |
Write(ReadOnlySpan<Char>) |
Schreibt einen Zeichenbereich in den Textstream. (Geerbt von TextWriter) |
Write(Single) |
Schreibt die Textdarstellung eines 4-Byte-Gleitkommawerts in den Textstream. (Geerbt von TextWriter) |
Write(String) |
Schreibt eine Zeichenfolge in die aktuelle Zeichenfolge. |
Write(String, Object) |
Schreibt eine formatierte Zeichenfolge in den Textstream, wobei die gleiche Semantik wie die Format(String, Object)-Methode verwendet wird. (Geerbt von TextWriter) |
Write(String, Object, Object) |
Schreibt eine formatierte Zeichenfolge mit derselben Semantik wie die Format(String, Object, Object)-Methode in den Textstream. (Geerbt von TextWriter) |
Write(String, Object, Object, Object) |
Schreibt eine formatierte Zeichenfolge in den Textstream, wobei die gleiche Semantik wie die Format(String, Object, Object, Object)-Methode verwendet wird. (Geerbt von TextWriter) |
Write(String, Object[]) |
Schreibt eine formatierte Zeichenfolge in den Textstream, wobei die gleiche Semantik wie die Format(String, Object[])-Methode verwendet wird. (Geerbt von TextWriter) |
Write(String, ReadOnlySpan<Object>) |
Schreibt eine formatierte Zeichenfolge in den Textstream, wobei die gleiche Semantik wie Format(String, ReadOnlySpan<Object>)verwendet wird. (Geerbt von TextWriter) |
Write(StringBuilder) |
Schreibt die Zeichenfolgendarstellung eines Zeichenfolgen-Generators in die aktuelle Zeichenfolge. |
Write(StringBuilder) |
Schreibt einen Zeichenfolgen-Generator in den Textstream. (Geerbt von TextWriter) |
Write(UInt32) |
Schreibt die Textdarstellung einer 4-Byte-Ganzzahl ohne Vorzeichen in den Textstream. (Geerbt von TextWriter) |
Write(UInt64) |
Schreibt die Textdarstellung einer 8-Byte-Ganzzahl ohne Vorzeichen in den Textstream. (Geerbt von TextWriter) |
WriteAsync(Char) |
Schreibt asynchron ein Zeichen in die Zeichenfolge. |
WriteAsync(Char) |
Schreibt asynchron ein Zeichen in den Textstream. (Geerbt von TextWriter) |
WriteAsync(Char[]) |
Schreibt asynchron ein Zeichenarray in den Textstream. (Geerbt von TextWriter) |
WriteAsync(Char[], Int32, Int32) |
Schreibt ein Unterarray von Zeichen asynchron in die Zeichenfolge. |
WriteAsync(Char[], Int32, Int32) |
Schreibt asynchron ein Unterarray von Zeichen in den Textstream. (Geerbt von TextWriter) |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Schreibt asynchron einen Speicherbereich von Zeichen in die Zeichenfolge. |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Schreibt asynchron einen Zeichenspeicherbereich in den Textstream. (Geerbt von TextWriter) |
WriteAsync(String) |
Schreibt eine Zeichenfolge asynchron in die aktuelle Zeichenfolge. |
WriteAsync(String) |
Schreibt eine Zeichenfolge asynchron in den Textstream. (Geerbt von TextWriter) |
WriteAsync(StringBuilder, CancellationToken) |
Schreibt asynchron die Textdarstellung eines Zeichenfolgen-Generators in die Zeichenfolge. |
WriteAsync(StringBuilder, CancellationToken) |
Schreibt asynchron einen Zeichenfolgen-Generator in den Textstream. (Geerbt von TextWriter) |
WriteLine() |
Schreibt einen Zeilenendpunkt in den Textstream. (Geerbt von TextWriter) |
WriteLine(Boolean) |
Schreibt die Textdarstellung eines |
WriteLine(Char) |
Schreibt ein Zeichen in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLine(Char[]) |
Schreibt ein Array von Zeichen in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLine(Char[], Int32, Int32) |
Schreibt eine Unterarray von Zeichen in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLine(Decimal) |
Schreibt die Textdarstellung eines Dezimalwerts in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLine(Double) |
Schreibt die Textdarstellung eines 8-Byte-Gleitkommawerts in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLine(Int32) |
Schreibt die Textdarstellung einer 4-Byte-Ganzzahl in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLine(Int64) |
Schreibt die Textdarstellung einer 8-Byte-Ganzzahl in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLine(Object) |
Schreibt die Textdarstellung eines Objekts in den Textstream, indem die |
WriteLine(ReadOnlySpan<Char>) |
Schreibt die Textdarstellung einer Spanne von Zeichen in die Zeichenfolge, gefolgt von einem Zeilenterminator. |
WriteLine(ReadOnlySpan<Char>) |
Schreibt die Textdarstellung eines Zeichenbereichs in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLine(Single) |
Schreibt die Textdarstellung eines 4-Byte-Gleitkommawerts in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLine(String) |
Schreibt eine Zeichenfolge in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLine(String, Object) |
Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Textstream, wobei die gleiche Semantik wie die Format(String, Object)-Methode verwendet wird. (Geerbt von TextWriter) |
WriteLine(String, Object, Object) |
Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Textstream, wobei die gleiche Semantik wie die Format(String, Object, Object)-Methode verwendet wird. (Geerbt von TextWriter) |
WriteLine(String, Object, Object, Object) |
Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Textstream, wobei die gleiche Semantik wie Format(String, Object)verwendet wird. (Geerbt von TextWriter) |
WriteLine(String, Object[]) |
Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Textstream, wobei die gleiche Semantik wie Format(String, Object)verwendet wird. (Geerbt von TextWriter) |
WriteLine(String, ReadOnlySpan<Object>) |
Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Textstream, wobei die gleiche Semantik wie Format(String, ReadOnlySpan<Object>)verwendet wird. (Geerbt von TextWriter) |
WriteLine(StringBuilder) |
Schreibt die Textdarstellung eines Zeichenfolgen-Generators in die Zeichenfolge, gefolgt von einem Zeilenterminator. |
WriteLine(StringBuilder) |
Schreibt die Textdarstellung eines Zeichenfolgen-Generators in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLine(UInt32) |
Schreibt die Textdarstellung einer 4-Byte-Ganzzahl ohne Vorzeichen in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLine(UInt64) |
Schreibt die Textdarstellung einer 8-Byte-Ganzzahl ohne Vorzeichen in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLineAsync() |
Schreibt asynchron einen Zeilenterminator in den Textstream. (Geerbt von TextWriter) |
WriteLineAsync(Char) |
Schreibt asynchron ein Zeichen in die Zeichenfolge, gefolgt von einem Zeilenterminator. |
WriteLineAsync(Char) |
Schreibt asynchron ein Zeichen in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLineAsync(Char[]) |
Schreibt asynchron ein Array von Zeichen in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLineAsync(Char[], Int32, Int32) |
Schreibt asynchron eine Unterarray von Zeichen in die Zeichenfolge, gefolgt von einem Zeilenterminator. |
WriteLineAsync(Char[], Int32, Int32) |
Schreibt asynchron eine Unterarray von Zeichen in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Schreibt asynchron die Zeichenfolgendarstellung des Speicherbereichs von Zeichen in die aktuelle Zeichenfolge, gefolgt von einem Zeilenterminator. |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Schreibt asynchron die Textdarstellung eines Zeichenspeicherbereichs in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLineAsync(String) |
Schreibt asynchron eine Zeichenfolge in die aktuelle Zeichenfolge, gefolgt von einem Zeilenterminator. |
WriteLineAsync(String) |
Schreibt asynchron eine Zeichenfolge in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
WriteLineAsync(StringBuilder, CancellationToken) |
Schreibt asynchron die Zeichenfolgendarstellung des Zeichenfolgen-Generators in die aktuelle Zeichenfolge, gefolgt von einem Zeilenterminator. |
WriteLineAsync(StringBuilder, CancellationToken) |
Schreibt asynchron die Textdarstellung eines Zeichenfolgen-Generators in den Textstream, gefolgt von einem Zeilenterminator. (Geerbt von TextWriter) |
Explizite Schnittstellenimplementierungen
IDisposable.Dispose() |
Eine Beschreibung dieses Mitglieds finden Sie unter Dispose(). (Geerbt von TextWriter) |
Erweiterungsmethoden
ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguriert, wie auf die von einem asynchronen Einweg zurückgegebenen Aufgaben gewartet wird. |