StreamWriter Klasse

Definition

Implementiert einen TextWriter zum Schreiben von Zeichen in einen Stream in einer bestimmten Codierung.

public ref class StreamWriter : System::IO::TextWriter
public class StreamWriter : System.IO.TextWriter
[System.Serializable]
public class StreamWriter : System.IO.TextWriter
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StreamWriter : System.IO.TextWriter
type StreamWriter = class
    inherit TextWriter
[<System.Serializable>]
type StreamWriter = class
    inherit TextWriter
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StreamWriter = class
    inherit TextWriter
Public Class StreamWriter
Inherits TextWriter
Vererbung
StreamWriter
Vererbung
Attribute

Beispiele

Das folgende Beispiel zeigt, wie sie ein -Objekt verwenden, um eine Datei zu schreiben, die die Verzeichnisse auf laufwerk C auflistet, und dann ein -Objekt verwendet, um die einzelnen Verzeichnisnamen zu lesen StreamWriter StreamReader und anzuzeigen. Eine bewährte Methode besteht in der Verwendung dieser Objekte in einer -Anweisung, damit die nicht verwalteten Ressourcen using ordnungsgemäß verworfen werden. Die -Anweisung ruft automatisch für das -Objekt auf, wenn der Code, using Dispose der sie verwendet, abgeschlossen ist. Der in diesem Beispiel verwendete Konstruktor wird für die Verwendung in Windows Store Apps nicht unterstützt.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace StreamReadWrite
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get the directories currently on the C drive.
            DirectoryInfo[] cDirs = new DirectoryInfo(@"c:\").GetDirectories();

            // Write each directory name to a file.
            using (StreamWriter sw = new StreamWriter("CDriveDirs.txt"))
            {
                foreach (DirectoryInfo dir in cDirs)
                {
                    sw.WriteLine(dir.Name);
                }
            }

            // Read and show each line from the file.
            string line = "";
            using (StreamReader sr = new StreamReader("CDriveDirs.txt"))
            {
                while ((line = sr.ReadLine()) != null)
                {
                    Console.WriteLine(line);
                }
            }
        }
    }
}
Imports System.IO
Class Program

    Shared Sub Main()

        ' Get the directories currently on the C drive.
        Dim cDirs As DirectoryInfo() = New DirectoryInfo("c:\").GetDirectories()

        ' Write each directory name to a file.
        Using sw As StreamWriter = New StreamWriter("CDriveDirs.txt")
            For Each Dir As DirectoryInfo In cDirs
                sw.WriteLine(Dir.Name)
            Next
        End Using

        'Read and show each line from the file.
        Dim line As String = ""
        Using sr As StreamReader = New StreamReader("CDriveDirs.txt")
            Do
                line = sr.ReadLine()
                Console.WriteLine(line)
            Loop Until line Is Nothing
        End Using


    End Sub

End Class

Hinweise

StreamWriter ist für die Zeichenausgabe in einer bestimmten Codierung konzipiert, wohingegen von abgeleitete Klassen Stream für die Byteeingabe und -ausgabe konzipiert sind.

Wichtig

Dieser Typ implementiert die IDisposable-Schnittstelle. Nach Abschluss der Verwendung sollten Sie den Typ entweder direkt oder indirekt löschen. Zum direkten Löschen des Typs rufen Sie seine Dispose-Methode in einem try/catch-Block auf. Zum indirekten Löschen verwenden Sie ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt „Verwenden eines Objekts, das IDisposable implementiert“ des Themas „Die IDisposable-Schnittstelle“.

StreamWriter verwendet standardmäßig eine Instanz von , sofern UTF8Encoding nicht anders angegeben. Diese Instanz von wird ohne Byte order mark (BOM) erstellt, sodass die -Methode UTF8Encoding ein GetPreamble leeres Bytearray zurückgibt. Die UTF-8-Standardcodierung für diesen Konstruktor löst eine Ausnahme für ungültige Bytes aus. Dieses Verhalten ist anders als das Verhalten, das vom Codierungsobjekt in der -Eigenschaft bereitgestellt Encoding.UTF8 wird. Um eine BOM anzugeben und zu bestimmen, ob eine Ausnahme für ungültige Bytes ausgelöst wird, verwenden Sie einen Konstruktor, der ein Codierungsobjekt als Parameter akzeptiert, z. B. StreamWriter(String, Boolean, Encoding) oder StreamWriter .

Standardmäßig ist ein StreamWriter nicht threadsicher. Einen TextWriter.Synchronized threadsicheren Wrapper finden Sie unter .

Eine Liste der allgemeinen E/A-Aufgaben finden Sie unter Allgemeine E/A-Aufgaben.

Konstruktoren

StreamWriter(Stream)

Initialisiert eine neue Instanz der StreamWriter-Klasse für den angegebenen Stream unter Verwendung der UTF-8-Codierung und der Standardpuffergröße.

StreamWriter(Stream, Encoding)

Initialisiert eine neue Instanz der StreamWriter-Klasse für den angegebenen Stream unter Verwendung der angegebenen Codierung und der Standardpuffergröße.

StreamWriter(Stream, Encoding, Int32)

Initialisiert eine neue Instanz der StreamWriter-Klasse für den angegebenen Stream unter Verwendung der angegebenen Codierung und Puffergröße.

StreamWriter(Stream, Encoding, Int32, Boolean)

Initialisiert eine neue Instanz der StreamWriter-Klasse für den angegebenen Stream unter Verwendung der angegebenen Codierung und Puffergröße und lässt optional den Stream geöffnet.

StreamWriter(String)

Initialisiert eine neue Instanz der StreamWriter-Klasse für die angegebene Datei unter Verwendung der Standardcodierung und -puffergröße.

StreamWriter(String, Boolean)

Initialisiert eine neue Instanz der StreamWriter-Klasse für die angegebene Datei unter Verwendung der Standardcodierung und -puffergröße. Wenn die Datei vorhanden ist, kann sie überschrieben oder an sie angefügt werden. Wenn die Datei nicht vorhanden ist, erstellt dieser Konstruktor eine neue Datei.

StreamWriter(String, Boolean, Encoding)

Initialisiert eine neue Instanz der StreamWriter-Klasse für die angegebene Datei unter Verwendung der angegebenen Codierung und Standardpuffergröße. Wenn die Datei vorhanden ist, kann sie überschrieben oder an sie angefügt werden. Wenn die Datei nicht vorhanden ist, erstellt dieser Konstruktor eine neue Datei.

StreamWriter(String, Boolean, Encoding, Int32)

Initialisiert für die angegebene Datei im angegebenen Pfad eine neue Instanz der StreamWriter-Klasse unter Verwendung der angegebenen Codierung und Puffergröße. Wenn die Datei vorhanden ist, kann sie überschrieben oder an sie angefügt werden. Wenn die Datei nicht vorhanden ist, erstellt dieser Konstruktor eine neue Datei.

StreamWriter(String, Encoding, FileStreamOptions)

Initialisiert eine neue Instanz der -Klasse für die angegebene Datei unter Verwendung der angegebenen Codierung und konfiguriert StreamWriter mit dem angegebenen FileStreamOptions -Objekt.

StreamWriter(String, FileStreamOptions)

Initialisiert eine neue Instanz der -Klasse für die angegebene Datei unter Verwendung der Standardcodierung und konfiguriert StreamWriter mit dem angegebenen FileStreamOptions -Objekt.

Felder

CoreNewLine

Speichert die für diesen TextWriter verwendeten Zeilenendemarken.

(Geerbt von TextWriter)
Null

Stellt einen StreamWriter ohne Sicherungsspeicher bereit, in den zwar geschrieben, aus dem jedoch nicht gelesen werden kann.

Eigenschaften

AutoFlush

Ruft einen Wert ab, der angibt, ob der StreamWriter nach jedem Aufruf von Write(Char) den Puffer in den zugrunde liegenden Stream wegschreibt, oder legt diesen Wert fest.

BaseStream

Ruft den zugrunde liegenden Stream ab, der eine Schnittstelle zu einem Sicherungsspeicher bildet.

Encoding

Ruft die Encoding ab, in der die Ausgabe geschrieben wird.

FormatProvider

Ruft ein Objekt zum Steuern der Formatierung ab.

(Geerbt von TextWriter)
NewLine

Ruft die Zeichenfolge für den Zeilenabschluss ab, die vom aktuellen TextWriter verwendet wird, oder legt diese fest.

(Geerbt von TextWriter)

Methoden

Close()

Schließt das aktuelle StreamWriter-Objekt und den zugrunde liegenden Stream.

Close()

Schließt den aktuellen Writer und gibt alle dem Writer zugeordneten Systemressourcen frei.

(Geerbt von TextWriter)
CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom TextWriter-Objekt verwendeten Ressourcen frei.

(Geerbt von TextWriter)
Dispose(Boolean)

Bewirkt, dass alle gepufferten Daten in den zugrunde liegenden Stream geschrieben werden, und gibt die vom StreamWriter verwendeten nicht verwalteten Ressourcen sowie optional auch die verwalteten Ressourcen frei.

DisposeAsync()

Schreibt gepufferte Daten asynchron in den zugrunde liegenden Datenstrom und veröffentlicht die nicht verwalteten Ressourcen, die von StreamWriter verwendet werden.

DisposeAsync()

Gibt alle vom TextWriter-Objekt verwendeten Ressourcen asynchron frei.

(Geerbt von TextWriter)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Finalize()

Gibt die Ressourcen des aktuellen StreamWriter frei, bevor dieser vom Garbage Collector wieder zugänglich gemacht wird.

Flush()

Löscht sämtliche Puffer für den aktuellen Writer und veranlasst die Ausgabe aller gepufferten Daten an den zugrunde liegenden Stream.

FlushAsync()

Löscht alle Puffer für diesen Stream asynchron und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät.

FlushAsync()

Löscht sämtliche Puffer für den aktuellen Writer asynchron und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät.

(Geerbt von TextWriter)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des 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 das aktuelle Objekt darstellt.

(Geerbt von Object)
Write(Boolean)

Schreibt die Textdarstellung eines Boolean-Werts in den Textstream.

(Geerbt von TextWriter)
Write(Char)

Schreibt ein Zeichen in den Stream.

Write(Char[])

Schreibt ein Zeichenarray in den Stream.

Write(Char[], Int32, Int32)

Schreibt ein Teilarray von Zeichen in den Stream.

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 mit Vorzeichen in den Textstream.

(Geerbt von TextWriter)
Write(Int64)

Schreibt die Textdarstellung einer 8-Byte-Ganzzahl mit Vorzeichen in den Textstream.

(Geerbt von TextWriter)
Write(Object)

Schreibt die Textdarstellung eines Objekts in den Textstream, indem für das Objekt die ToString-Methode aufgerufen wird.

(Geerbt von TextWriter)
Write(ReadOnlySpan<Char>)

Schreibt eine Zeichenspanne in den Datenstrom.

Write(ReadOnlySpan<Char>)

Schreibt eine Zeichenspanne 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 den Stream.

Write(String, Object)

Schreibt eine formatierte Zeichenfolge in den Datenstrom unter Verwendung der gleichen Semantik wie die Format(String, Object)-Methode.

Write(String, Object)

Schreibt eine formatierte Zeichenfolge in den Textstream unter Verwendung der gleichen Semantik wie die Format(String, Object)-Methode.

(Geerbt von TextWriter)
Write(String, Object, Object)

Schreibt eine formatierte Zeichenfolge mit der gleichen Semantik wie die -Methode in den Format(String, Object, Object) Stream.

Write(String, Object, Object)

Schreibt eine formatierte Zeichenfolge in den Textstream unter Verwendung der gleichen Semantik wie die Format(String, Object, Object)-Methode.

(Geerbt von TextWriter)
Write(String, Object, Object, Object)

Schreibt eine formatierte Zeichenfolge in den Datenstrom unter Verwendung der gleichen Semantik wie die Format(String, Object, Object, Object)-Methode.

Write(String, Object, Object, Object)

Schreibt eine formatierte Zeichenfolge in den Textstream unter Verwendung der gleichen Semantik wie die Format(String, Object, Object, Object)-Methode.

(Geerbt von TextWriter)
Write(String, Object[])

Schreibt eine formatierte Zeichenfolge in den Datenstrom unter Verwendung der gleichen Semantik wie die Format(String, Object[])-Methode.

Write(String, Object[])

Schreibt eine formatierte Zeichenfolge in den Textstream unter Verwendung der gleichen Semantik wie die Format(String, Object[])-Methode.

(Geerbt von TextWriter)
Write(StringBuilder)

Schreibt einen Zeichenfolgengenerator 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 ein Zeichen asynchron in den Datenstrom.

WriteAsync(Char)

Schreibt ein Zeichen asynchron in den Textstream.

(Geerbt von TextWriter)
WriteAsync(Char[])

Schreibt ein Zeichenarray asynchron in den Textstream.

(Geerbt von TextWriter)
WriteAsync(Char[], Int32, Int32)

Schreibt ein Teilarray von Zeichen asynchron in den Datenstrom.

WriteAsync(Char[], Int32, Int32)

Schreibt ein Teilarray von Zeichen asynchron in den Textstream.

(Geerbt von TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Schreibt einen Zeichenspeicherbereich asynchron in den Datenstrom.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Schreibt eine Zeichenspeicherregion asynchron in den Textstream.

(Geerbt von TextWriter)
WriteAsync(String)

Schreibt eine Zeichenfolge asynchron in den Datenstrom.

WriteAsync(String)

Schreibt eine Zeichenfolge asynchron in den Textstream.

(Geerbt von TextWriter)
WriteAsync(StringBuilder, CancellationToken)

Schreibt einen Zeichenfolgengenerator asynchron in den Textstream.

(Geerbt von TextWriter)
WriteLine()

Schreibt ein Zeichen für den Zeilenabschluss in den Textstream.

(Geerbt von TextWriter)
WriteLine(Boolean)

Schreibt die Textdarstellung eines Boolean-Werts, auf die ein Zeichen für den Zeilenabschluss folgt, in den Textstream.

(Geerbt von TextWriter)
WriteLine(Char)

Schreibt ein Zeichen, auf das ein Zeichen für den Zeilenabschluss folgt, in den Textstream.

(Geerbt von TextWriter)
WriteLine(Char[])

Schreibt ein Array von Zeichen, gefolgt von einem Zeichen für den Zeilenabschluss, in den Textstream.

(Geerbt von TextWriter)
WriteLine(Char[], Int32, Int32)

Schreibt ein Unterarray von Zeichen, auf das ein Zeichen für den Zeilenabschluss folgt, in den Textstream.

(Geerbt von TextWriter)
WriteLine(Decimal)

Schreibt die Textdarstellung eines Dezimalwerts, auf die ein Zeichen für den Zeilenabschluss folgt, in den Textstream.

(Geerbt von TextWriter)
WriteLine(Double)

Schreibt die Textdarstellung eines 8-Byte-Gleitkommawerts, gefolgt von einem Zeichen für den Zeilenabschluss, in den Textstream.

(Geerbt von TextWriter)
WriteLine(Int32)

Schreibt die Textdarstellung einer 4-Byte-Ganzzahl mit Vorzeichen, gefolgt von einem Zeichen für den Zeilenabschluss, in den Textstream.

(Geerbt von TextWriter)
WriteLine(Int64)

Schreibt die Textdarstellung einer 8-Byte-Ganzzahl mit Vorzeichen, gefolgt von einem Zeichen für den Zeilenabschluss, in den Textstream.

(Geerbt von TextWriter)
WriteLine(Object)

Schreibt durch Aufrufen der ToString-Methode für ein Objekt die Textdarstellung dieses Objekts, gefolgt von einem Zeichen für den Zeilenabschluss, in den Textstream.

(Geerbt von TextWriter)
WriteLine(ReadOnlySpan<Char>)

Schreibt die Textdarstellung einer Zeichenspanne, auf die ein Zeichen für den Zeilenabschluss folgt, in den Datenstrom.

WriteLine(ReadOnlySpan<Char>)

Schreibt die Textdarstellung einer Zeichenspanne, auf die ein Zeichen für den Zeilenabschluss folgt, in den Textstream.

(Geerbt von TextWriter)
WriteLine(Single)

Schreibt die Textdarstellung eines 4-Byte-Gleitkommawerts, gefolgt von einem Zeichen für den Zeilenabschluss, in den Textstream.

(Geerbt von TextWriter)
WriteLine(String)

Schreibt eine Zeichenfolge, gefolgt von einem Zeichen für den Zeilenabschluss, in den Datenstrom.

WriteLine(String)

Schreibt eine Zeichenfolge, gefolgt von einem Zeichen für den Zeilenabschluss, in den Textstream.

(Geerbt von TextWriter)
WriteLine(String, Object)

Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Datenstrom unter Verwendung der gleichen Semantik wie die Format(String, Object)-Methode.

WriteLine(String, Object)

Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Textstream unter Verwendung der gleichen Semantik wie die Format(String, Object)-Methode.

(Geerbt von TextWriter)
WriteLine(String, Object, Object)

Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Datenstrom unter Verwendung der gleichen Semantik wie die Format(String, Object, Object)-Methode.

WriteLine(String, Object, Object)

Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Textstream unter Verwendung der gleichen Semantik wie die Format(String, Object, Object)-Methode.

(Geerbt von TextWriter)
WriteLine(String, Object, Object, Object)

Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Datenstrom unter Verwendung der gleichen Semantik wie Format(String, Object).

WriteLine(String, Object, Object, Object)

Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Textstream unter Verwendung der gleichen Semantik wie Format(String, Object).

(Geerbt von TextWriter)
WriteLine(String, Object[])

Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Datenstrom unter Verwendung der gleichen Semantik wie Format(String, Object).

WriteLine(String, Object[])

Schreibt eine formatierte Zeichenfolge und eine neue Zeile in den Textstream unter Verwendung der gleichen Semantik wie Format(String, Object).

(Geerbt von TextWriter)
WriteLine(StringBuilder)

Schreibt die Textdarstellung eines Zeichenfolgengenerators, auf die ein Zeichen für den Zeilenabschluss folgt, in den Textstream.

(Geerbt von TextWriter)
WriteLine(UInt32)

Schreibt die Textdarstellung einer 4-Byte-Ganzzahl ohne Vorzeichen, gefolgt von einem Zeichen für den Zeilenabschluss, in den Textstream.

(Geerbt von TextWriter)
WriteLine(UInt64)

Schreibt die Textdarstellung einer 8-Byte-Ganzzahl ohne Vorzeichen, gefolgt von einem Zeichen für den Zeilenabschluss, in den Textstream.

(Geerbt von TextWriter)
WriteLineAsync()

Schreibt ein Zeichen für den Zeilenabschluss asynchron in den Datenstrom.

WriteLineAsync()

Schreibt ein Zeichen für den Zeilenabschluss asynchron in den Textstream.

(Geerbt von TextWriter)
WriteLineAsync(Char)

Schreibt ein Zeichen, gefolgt von einem Zeichen für den Zeilenabschluss, asynchron in den Datenstrom.

WriteLineAsync(Char)

Schreibt ein Zeichen, auf das ein Zeichen für den Zeilenabschluss folgt, asynchron in den Textstream.

(Geerbt von TextWriter)
WriteLineAsync(Char[])

Schreibt ein Array von Zeichen, gefolgt von einem Zeichen für den Zeilenabschluss, asynchron in den Textstream.

(Geerbt von TextWriter)
WriteLineAsync(Char[], Int32, Int32)

Schreibt ein Unterarray von Zeichen, gefolgt von einem Zeilenabschlusszeichen, asynchron in denn Datenstrom.

WriteLineAsync(Char[], Int32, Int32)

Schreibt ein Unterarray von Zeichen, gefolgt von einem Zeichen für den Zeilenabschluss, asynchron in den Textstream.

(Geerbt von TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Schreibt die Textdarstellung eines Zeichenspeicherbereichs, gefolgt von einem Zeilenabschlusszeichen, asynchron in den Datenstrom.

WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Schreibt die Textdarstellung einer Zeichenspeicherregion, auf die ein Zeichen für den Zeilenabschluss folgt, asynchron in den Textstream.

(Geerbt von TextWriter)
WriteLineAsync(String)

Schreibt eine Zeichenfolge, gefolgt von einem Zeichen für den Zeilenabschluss, asynchron in den Datenstrom.

WriteLineAsync(String)

Schreibt eine Zeichenfolge, gefolgt von einem Zeichen für den Zeilenabschluss, asynchron in den Textstream.

(Geerbt von TextWriter)
WriteLineAsync(StringBuilder, CancellationToken)

Schreibt die Textdarstellung eines Zeichenfolgengenerators, auf die ein Zeichen für den Zeilenabschluss folgt, asynchron in den Textstream.

(Geerbt von TextWriter)

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Eine Beschreibung dieses Elements finden Sie unter Dispose().

(Geerbt von TextWriter)

Erweiterungsmethoden

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguriert, wie Wartezeiten auf die Aufgaben angewandt werden, die von einem asynchronen verwerfbaren Element zurückgegeben werden.

Gilt für:

Siehe auch