StreamWriter Klas

Definitie

Implementeert een TextWriter voor het schrijven van tekens naar een stream in een bepaalde codering.

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
Overname
StreamWriter
Overname
Kenmerken

Voorbeelden

In het volgende voorbeeld ziet u hoe u een object gebruikt om een StreamWriter bestand te schrijven met de mappen op het C-station en vervolgens een StreamReader object gebruikt om elke mapnaam te lezen en weer te geven. Een goede gewoonte is om deze objecten in een using instructie te gebruiken, zodat de onbeheerde resources correct worden verwijderd. De using instructie roept Dispose automatisch het object aan wanneer de code die het gebruikt, is voltooid. De constructor die in dit voorbeeld wordt gebruikt, wordt niet ondersteund voor gebruik in Windows Store-apps.

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

Opmerkingen

StreamWriter is ontworpen voor tekenuitvoer in een bepaalde codering, terwijl klassen die zijn afgeleid van Stream , zijn ontworpen voor byte-invoer en -uitvoer.

Important

Met dit type wordt de IDisposable interface geïmplementeerd. Wanneer u klaar bent met het gebruik van het type, moet u het direct of indirect verwijderen. Als u het type rechtstreeks wilt verwijderen, roept u de Dispose methode aan in een try/catch blok. Als u deze indirect wilt verwijderen, gebruikt u een taalconstructie zoals using (in C#) of Using (in Visual Basic). Zie de sectie 'Using an Object that Implements IDisposable' (Een object gebruiken dat IDisposable implementeert) in het IDisposable interfaceonderwerp voor meer informatie.

StreamWriter is standaard ingesteld op het gebruik van een exemplaar van UTF8Encoding , tenzij anders is opgegeven. Dit exemplaar wordt UTF8Encoding gemaakt zonder een bytevolgordemarkering (BOM), dus GetPreamble de methode retourneert een lege bytematrix. De standaard-UTF-8-codering voor deze constructor genereert een uitzondering op ongeldige bytes. Dit gedrag verschilt van het gedrag dat wordt geleverd door het coderingsobject in de Encoding.UTF8 eigenschap. Als u een stuklijst wilt opgeven en wilt bepalen of er een uitzondering wordt gegenereerd op ongeldige bytes, gebruikt u een constructor die een coderingsobject accepteert als een parameter, zoals StreamWriter(String, Boolean, Encoding) of StreamWriter.

Standaard is een StreamWriter niet thread veilig. Zie TextWriter.Synchronized voor een thread-safe wrapper.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Constructors

Name Description
StreamWriter(Stream, Encoding, Int32, Boolean)

Initialiseert een nieuw exemplaar van de klasse voor de StreamWriter opgegeven stream met behulp van de opgegeven coderings- en buffergrootte, en laat de stream eventueel open.

StreamWriter(Stream, Encoding, Int32)

Initialiseert een nieuw exemplaar van de StreamWriter klasse voor de opgegeven stream met behulp van de opgegeven coderings- en buffergrootte.

StreamWriter(Stream, Encoding)

Initialiseert een nieuw exemplaar van de klasse voor de StreamWriter opgegeven stream met behulp van de opgegeven codering en de standaardbuffergrootte.

StreamWriter(Stream)

Initialiseert een nieuw exemplaar van de StreamWriter klasse voor de opgegeven stroom met behulp van UTF-8-codering en de standaardbuffergrootte.

StreamWriter(String, Boolean, Encoding, Int32)

Initialiseert een nieuw exemplaar van de StreamWriter klasse voor het opgegeven bestand op het opgegeven pad, met behulp van de opgegeven coderings- en buffergrootte. Als het bestand bestaat, kan het worden overschreven of toegevoegd aan. Als het bestand niet bestaat, maakt deze constructor een nieuw bestand.

StreamWriter(String, Boolean, Encoding)

Initialiseert een nieuw exemplaar van de StreamWriter klasse voor het opgegeven bestand met behulp van de opgegeven codering en de standaardbuffergrootte. Als het bestand bestaat, kan het worden overschreven of toegevoegd aan. Als het bestand niet bestaat, maakt deze constructor een nieuw bestand.

StreamWriter(String, Boolean)

Initialiseert een nieuw exemplaar van de StreamWriter klasse voor het opgegeven bestand met behulp van de standaardcodering en buffergrootte. Als het bestand bestaat, kan het worden overschreven of toegevoegd aan. Als het bestand niet bestaat, maakt deze constructor een nieuw bestand.

StreamWriter(String)

Initialiseert een nieuw exemplaar van de StreamWriter klasse voor het opgegeven bestand met behulp van de standaardcodering en buffergrootte.

Velden

Name Description
CoreNewLine

Slaat de nieuwe regeltekens op die hiervoor TextWriterworden gebruikt.

(Overgenomen van TextWriter)
Null

Biedt een StreamWriter archief zonder back-up waarnaar kan worden geschreven, maar niet gelezen van.

Eigenschappen

Name Description
AutoFlush

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de StreamWriter buffer na elke aanroep naar Write(Char)de onderliggende stroom wordt leeggemaakt.

BaseStream

Hiermee haalt u de onderliggende stream op die interfaces met een back-uparchief.

Encoding

Hiermee haalt u de Encoding uitvoer op waarin de uitvoer wordt geschreven.

FormatProvider

Hiermee haalt u een object op waarmee de opmaak wordt beheerd.

(Overgenomen van TextWriter)
NewLine

Hiermee haalt u de regeleindtekenreeks op die door de huidige TextWriterwordt gebruikt of stelt u deze in.

(Overgenomen van TextWriter)

Methoden

Name Description
Close()

Hiermee sluit u het huidige StreamWriter object en de onderliggende stroom.

CreateObjRef(Type)

Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object.

(Overgenomen van MarshalByRefObject)
Dispose()

Alle resources die door het TextWriter object worden gebruikt, worden vrijgegeven.

(Overgenomen van TextWriter)
Dispose(Boolean)

Zorgt ervoor dat eventuele gebufferde gegevens naar de onderliggende stroom worden geschreven, de onbeheerde resources die worden gebruikt door de StreamWriter, en optioneel de beheerde resources, vrijgeeft.

DisposeAsync()

Asynchroon schrijft eventuele gebufferde gegevens naar de onderliggende stroom en publiceert de onbeheerde resources die worden gebruikt door de StreamWriter.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
Finalize()

Maakt de resources van de huidige StreamWriter vrij voordat deze wordt vrijgemaakt door de garbagecollector.

Flush()

Wist alle buffers voor de huidige schrijver en zorgt ervoor dat gebufferde gegevens naar de onderliggende stroom worden geschreven.

FlushAsync()

Wist alle buffers voor deze stroom asynchroon en zorgt ervoor dat eventuele gebufferde gegevens naar het onderliggende apparaat worden geschreven.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetLifetimeService()

Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd.

(Overgenomen van MarshalByRefObject)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
InitializeLifetimeService()

Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren.

(Overgenomen van MarshalByRefObject)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
MemberwiseClone(Boolean)

Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object.

(Overgenomen van MarshalByRefObject)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
Write(Boolean)

Hiermee schrijft u de tekstweergave van een Boolean waarde naar de tekststroom.

(Overgenomen van TextWriter)
Write(Char)

Hiermee schrijft u een teken naar de stream.

Write(Char[], Int32, Int32)

Hiermee schrijft u een submaarray van tekens naar de stream.

Write(Char[])

Hiermee schrijft u een tekenmatrix naar de stream.

Write(Decimal)

Hiermee schrijft u de tekstweergave van een decimale waarde naar de tekststroom.

(Overgenomen van TextWriter)
Write(Double)

Hiermee schrijft u de tekstweergave van een 8-byte zwevende-kommawaarde naar de tekststroom.

(Overgenomen van TextWriter)
Write(Int32)

Hiermee schrijft u de tekstweergave van een geheel getal met 4 bytetekens naar de tekststroom.

(Overgenomen van TextWriter)
Write(Int64)

Hiermee schrijft u de tekstweergave van een geheel getal van 8 byte dat is ondertekend naar de tekststroom.

(Overgenomen van TextWriter)
Write(Object)

Hiermee schrijft u de tekstweergave van een object naar de tekststroom door de ToString methode voor dat object aan te roepen.

(Overgenomen van TextWriter)
Write(ReadOnlySpan<Char>)

Hiermee schrijft u een tekenbereik naar de stream.

Write(Single)

Hiermee schrijft u de tekstweergave van een 4-byte zwevende-kommawaarde naar de tekststroom.

(Overgenomen van TextWriter)
Write(String, Object, Object, Object)

Hiermee schrijft u een opgemaakte tekenreeks naar de tekststroom, met behulp van dezelfde semantiek als de Format(String, Object, Object, Object) methode.

(Overgenomen van TextWriter)
Write(String, Object, Object)

Hiermee schrijft u een opgemaakte tekenreeks naar de tekststroom met behulp van dezelfde semantiek als de Format(String, Object, Object) methode.

(Overgenomen van TextWriter)
Write(String, Object)

Hiermee schrijft u een opgemaakte tekenreeks naar de tekststroom, met behulp van dezelfde semantiek als de Format(String, Object) methode.

(Overgenomen van TextWriter)
Write(String, Object[])

Hiermee schrijft u een opgemaakte tekenreeks naar de tekststroom, met behulp van dezelfde semantiek als de Format(String, Object[]) methode.

(Overgenomen van TextWriter)
Write(String)

Hiermee schrijft u een tekenreeks naar de stream.

Write(UInt32)

Hiermee schrijft u de tekstweergave van een niet-ondertekend geheel getal van vier bytes naar de tekststroom.

(Overgenomen van TextWriter)
Write(UInt64)

Hiermee schrijft u de tekstweergave van een niet-ondertekend geheel getal van 8 bytes naar de tekststroom.

(Overgenomen van TextWriter)
WriteAsync(Char)

Asynchroon schrijft een teken naar de stream.

WriteAsync(Char[], Int32, Int32)

Asynchroon schrijft een submaarray van tekens naar de stream.

WriteAsync(Char[])

Hiermee schrijft u een tekenmatrix asynchroon naar de tekststroom.

(Overgenomen van TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchroon schrijft een geheugengebied voor tekens naar de stream.

WriteAsync(String)

Asynchroon schrijft een tekenreeks naar de stream.

WriteLine()

Hiermee schrijft u een regeleindteken naar de tekststroom.

(Overgenomen van TextWriter)
WriteLine(Boolean)

Hiermee schrijft u de tekstweergave van een Boolean waarde naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Char)

Hiermee schrijft u een teken naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Char[], Int32, Int32)

Hiermee schrijft u een submaarray van tekens naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Char[])

Hiermee schrijft u een matrix met tekens naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Decimal)

Hiermee schrijft u de tekstweergave van een decimale waarde naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Double)

Hiermee schrijft u de tekstweergave van een 8-byte zwevende-kommawaarde naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Int32)

Hiermee schrijft u de tekstweergave van een geheel getal met 4 bytetekens naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Int64)

Hiermee schrijft u de tekstweergave van een geheel getal met 8 bytetekens naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(Object)

Hiermee schrijft u de tekstweergave van een object naar de tekststroom door de ToString methode voor dat object aan te roepen, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(ReadOnlySpan<Char>)

Hiermee schrijft u de tekstweergave van een tekenbereik naar de stroom, gevolgd door een regeleindteken.

WriteLine(Single)

Hiermee schrijft u de tekstweergave van een 4-byte zwevende-kommawaarde naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(String, Object, Object, Object)

Hiermee schrijft u een opgemaakte tekenreeks en een nieuwe regel naar de tekststroom, met behulp van dezelfde semantiek als Format(String, Object).

(Overgenomen van TextWriter)
WriteLine(String, Object, Object)

Hiermee schrijft u een opgemaakte tekenreeks en een nieuwe regel naar de tekststroom, met behulp van dezelfde semantiek als de Format(String, Object, Object) methode.

(Overgenomen van TextWriter)
WriteLine(String, Object)

Hiermee schrijft u een opgemaakte tekenreeks en een nieuwe regel naar de tekststroom, met behulp van dezelfde semantiek als de Format(String, Object) methode.

(Overgenomen van TextWriter)
WriteLine(String, Object[])

Hiermee schrijft u een opgemaakte tekenreeks en een nieuwe regel naar de tekststroom, met behulp van dezelfde semantiek als Format(String, Object).

(Overgenomen van TextWriter)
WriteLine(String)

Hiermee schrijft u een tekenreeks naar de stroom, gevolgd door een regeleindteken.

WriteLine(String)

Hiermee schrijft u een tekenreeks naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(UInt32)

Hiermee schrijft u de tekstweergave van een niet-ondertekend geheel getal van vier bytes naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLine(UInt64)

Hiermee schrijft u de tekstweergave van een niet-ondertekend geheel getal van 8 bytes naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLineAsync()

Asynchroon schrijft een regeleindteken naar de stream.

WriteLineAsync(Char)

Asynchroon schrijft een teken naar de stream, gevolgd door een regeleindteken.

WriteLineAsync(Char[], Int32, Int32)

Asynchroon schrijft een submaarray van tekens naar de stroom, gevolgd door een regeleindteken.

WriteLineAsync(Char[])

Asynchroon schrijft een matrix met tekens naar de tekststroom, gevolgd door een regeleindteken.

(Overgenomen van TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchroon schrijft de tekstweergave van een tekengeheugengebied naar de stream, gevolgd door een regeleindteken.

WriteLineAsync(String)

Asynchroon schrijft een tekenreeks naar de stream, gevolgd door een regeleindteken.

Expliciete interface-implementaties

Name Description
IDisposable.Dispose()

Zie voor een beschrijving van dit lid Dispose().

(Overgenomen van TextWriter)

Extensiemethoden

Name Description
ConfigureAwait(IAsyncDisposable, Boolean)

Hiermee configureert u hoe wacht op de taken die worden geretourneerd op basis van een asynchroon wegwerp, worden uitgevoerd.

Van toepassing op

Zie ook