StreamWriter Klass

Definition

Implementerar en TextWriter för att skriva tecken till en ström i en viss kodning.

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
Arv
StreamWriter
Arv
Attribut

Exempel

I följande exempel visas hur du använder ett StreamWriter objekt för att skriva en fil som visar katalogerna på C-enheten och sedan använder ett StreamReader objekt för att läsa och visa varje katalognamn. En bra idé är att använda dessa objekt i en using instruktion så att de ohanterade resurserna tas bort korrekt. Instruktionen using anropar Dispose automatiskt objektet när koden som använder den har slutförts. Konstruktorn som används i det här exemplet stöds inte för användning i Windows Store-appar.

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

Kommentarer

StreamWriter är utformad för teckenutdata i en viss kodning, medan klasser som härleds från Stream är utformade för byteindata och utdata.

Important

Den här typen implementerar IDisposable gränssnittet. När du har använt typen bör du kassera den på ett direkt eller indirekt sätt. Om du vill ta bort typen direkt anropar du dess Dispose metod i ett try/catch block. Om du vill ta bort det indirekt använder du en språkkonstruktion som using (i C#) eller Using (i Visual Basic). Mer information finns i avsnittet "Använda ett objekt som implementerar IDisposable" i IDisposable gränssnittet.

StreamWriter använder som standard en instans av UTF8Encoding om inget annat anges. Den här instansen av UTF8Encoding är konstruerad utan byteordningsmärke (BOM), så dess GetPreamble metod returnerar en tom bytematris. Utf-8-standardkodningen för den här konstruktorn genererar ett undantag på ogiltiga byte. Det här beteendet skiljer sig från det beteende som tillhandahålls av kodningsobjektet Encoding.UTF8 i egenskapen. Om du vill ange en strukturlista och avgöra om ett undantag utlöses på ogiltiga byte använder du en konstruktor som accepterar ett kodningsobjekt som en parameter, till exempel StreamWriter(String, Boolean, Encoding) eller StreamWriter.

Som standard är en StreamWriter inte trådsäker. Se TextWriter.Synchronized för en trådsäker omslutning.

En lista över vanliga I/O-uppgifter finns i Vanliga I/O-uppgifter.

Konstruktorer

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

Initierar en ny instans av StreamWriter klassen för den angivna dataströmmen med den angivna kodnings- och buffertstorleken, och om du vill kan du lämna strömmen öppen.

StreamWriter(Stream, Encoding, Int32)

Initierar en ny instans av StreamWriter klassen för den angivna dataströmmen med den angivna kodnings- och buffertstorleken.

StreamWriter(Stream, Encoding)

Initierar en ny instans av StreamWriter klassen för den angivna strömmen med hjälp av den angivna kodningen och standardbuffertstorleken.

StreamWriter(Stream)

Initierar en ny instans av StreamWriter klassen för den angivna strömmen med hjälp av UTF-8-kodning och standardbuffertstorleken.

StreamWriter(String, Boolean, Encoding, Int32)

Initierar en ny instans av StreamWriter klassen för den angivna filen på den angivna sökvägen med den angivna kodnings- och buffertstorleken. Om filen finns kan den antingen skrivas över eller läggas till. Om filen inte finns skapar konstruktorn en ny fil.

StreamWriter(String, Boolean, Encoding)

Initierar en ny instans av StreamWriter klassen för den angivna filen med hjälp av den angivna kodningen och standardbuffertstorleken. Om filen finns kan den antingen skrivas över eller läggas till. Om filen inte finns skapar konstruktorn en ny fil.

StreamWriter(String, Boolean)

Initierar en ny instans av StreamWriter klassen för den angivna filen med hjälp av standardkodning och buffertstorlek. Om filen finns kan den antingen skrivas över eller läggas till. Om filen inte finns skapar konstruktorn en ny fil.

StreamWriter(String)

Initierar en ny instans av StreamWriter klassen för den angivna filen med hjälp av standardkodning och buffertstorlek.

Fält

Name Description
CoreNewLine

Lagrar de nya radtecken som används för den här TextWriter.

(Ärvd från TextWriter)
Null

Tillhandahåller ett StreamWriter utan stödarkiv som kan skrivas till, men inte läsas från.

Egenskaper

Name Description
AutoFlush

Hämtar eller anger ett värde som anger om StreamWriter kommer att tömma sin buffert till den underliggande strömmen efter varje anrop till Write(Char).

BaseStream

Hämtar den underliggande dataströmmen som samverkar med ett lagringslager.

Encoding

Hämtar i Encoding vilken utdata skrivs.

FormatProvider

Hämtar ett objekt som styr formateringen.

(Ärvd från TextWriter)
NewLine

Hämtar eller anger radavslutarsträngen som används av den aktuella TextWriter.

(Ärvd från TextWriter)

Metoder

Name Description
Close()

Stänger det aktuella StreamWriter objektet och den underliggande strömmen.

CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Dispose()

Frigör alla resurser som används av TextWriter objektet.

(Ärvd från TextWriter)
Dispose(Boolean)

Gör att buffrade data skrivs till den underliggande dataströmmen, frigör de ohanterade resurser som används av StreamWriter, och eventuellt de hanterade resurserna.

DisposeAsync()

Skriver asynkront alla buffrade data till den underliggande strömmen och släpper de ohanterade resurser som används av StreamWriter.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
Finalize()

Frigör resurserna för strömmen StreamWriter innan den återvinns av skräpinsamlaren.

Flush()

Rensar alla buffertar för den aktuella skrivaren och gör att buffrade data skrivs till den underliggande strömmen.

FlushAsync()

Rensar alla buffertar för den här strömmen asynkront och gör att buffrade data skrivs till den underliggande enheten.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
InitializeLifetimeService()

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
Write(Boolean)

Skriver textrepresentationen av ett Boolean värde till textströmmen.

(Ärvd från TextWriter)
Write(Char)

Skriver ett tecken till strömmen.

Write(Char[], Int32, Int32)

Skriver ett underordnat tecken till strömmen.

Write(Char[])

Skriver en teckenmatris till strömmen.

Write(Decimal)

Skriver textrepresentationen av ett decimalvärde till textströmmen.

(Ärvd från TextWriter)
Write(Double)

Skriver textrepresentationen av ett flyttalsvärde på 8 byte till textströmmen.

(Ärvd från TextWriter)
Write(Int32)

Skriver textrepresentationen av ett 4 byte signerat heltal till textströmmen.

(Ärvd från TextWriter)
Write(Int64)

Skriver textrepresentationen av ett 8 byte signerat heltal till textströmmen.

(Ärvd från TextWriter)
Write(Object)

Skriver textrepresentationen av ett objekt till textströmmen genom att anropa ToString metoden för objektet.

(Ärvd från TextWriter)
Write(ReadOnlySpan<Char>)

Skriver ett teckenintervall till strömmen.

Write(Single)

Skriver textrepresentationen av ett flyttalsvärde på 4 byte till textströmmen.

(Ärvd från TextWriter)
Write(String, Object, Object, Object)

Skriver en formaterad sträng till textströmmen med samma semantik som Format(String, Object, Object, Object) metoden.

(Ärvd från TextWriter)
Write(String, Object, Object)

Skriver en formaterad sträng till textströmmen med samma semantik som Format(String, Object, Object) metoden.

(Ärvd från TextWriter)
Write(String, Object)

Skriver en formaterad sträng till textströmmen med samma semantik som Format(String, Object) metoden.

(Ärvd från TextWriter)
Write(String, Object[])

Skriver en formaterad sträng till textströmmen med samma semantik som Format(String, Object[]) metoden.

(Ärvd från TextWriter)
Write(String)

Skriver en sträng till strömmen.

Write(UInt32)

Skriver textrepresentationen av ett osignerat heltal på 4 byte till textströmmen.

(Ärvd från TextWriter)
Write(UInt64)

Skriver textrepresentationen av ett osignerat heltal på 8 byte till textströmmen.

(Ärvd från TextWriter)
WriteAsync(Char)

Skriver asynkront ett tecken till strömmen.

WriteAsync(Char[], Int32, Int32)

Skriver asynkront ett underordnat tecken till strömmen.

WriteAsync(Char[])

Skriver en teckenmatris till textströmmen asynkront.

(Ärvd från TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Skriver asynkront en teckenminnesregion till strömmen.

WriteAsync(String)

Skriver asynkront en sträng till strömmen.

WriteLine()

Skriver en radavgränsare till textströmmen.

(Ärvd från TextWriter)
WriteLine(Boolean)

Skriver textrepresentationen av ett Boolean värde till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Char)

Skriver ett tecken till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Char[], Int32, Int32)

Skriver ett underordnat tecken till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Char[])

Skriver en matris med tecken till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Decimal)

Skriver textrepresentationen av ett decimalvärde till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Double)

Skriver textrepresentationen av ett flyttal på 8 byte till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Int32)

Skriver textrepresentationen av ett 4 byte signerat heltal till textströmmen, följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Int64)

Skriver textrepresentationen av ett 8 byte signerat heltal till textströmmen, följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(Object)

Skriver textrepresentationen av ett objekt till textströmmen genom att anropa ToString metoden för objektet, följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(ReadOnlySpan<Char>)

Skriver textrepresentationen av ett teckenintervall till strömmen, följt av en radavgränsare.

WriteLine(Single)

Skriver textrepresentationen av ett flyttal på 4 byte till textströmmen följt av en radavslutare.

(Ärvd från TextWriter)
WriteLine(String, Object, Object, Object)

Skriver ut en formaterad sträng och en ny rad till textströmmen med samma semantik som Format(String, Object).

(Ärvd från TextWriter)
WriteLine(String, Object, Object)

Skriver en formaterad sträng och en ny rad till textströmmen med samma semantik som Format(String, Object, Object) metoden.

(Ärvd från TextWriter)
WriteLine(String, Object)

Skriver en formaterad sträng och en ny rad till textströmmen med samma semantik som Format(String, Object) metoden.

(Ärvd från TextWriter)
WriteLine(String, Object[])

Skriver ut en formaterad sträng och en ny rad till textströmmen med samma semantik som Format(String, Object).

(Ärvd från TextWriter)
WriteLine(String)

Skriver en sträng till strömmen, följt av en radavgränsare.

WriteLine(String)

Skriver en sträng till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(UInt32)

Skriver textrepresentationen av ett osignerat heltal på 4 byte till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLine(UInt64)

Skriver textrepresentationen av ett osignerat heltal på 8 byte till textströmmen, följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLineAsync()

Skriver asynkront en radavslutare till strömmen.

WriteLineAsync(Char)

Skriver asynkront ett tecken till strömmen, följt av en radavgränsare.

WriteLineAsync(Char[], Int32, Int32)

Skriver asynkront en subarray med tecken till strömmen, följt av en radavgränsare.

WriteLineAsync(Char[])

Skriver asynkront en matris med tecken till textströmmen följt av en radavgränsare.

(Ärvd från TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Skriver asynkront textrepresentationen av en teckenminnesregion till strömmen, följt av en radavgränsare.

WriteLineAsync(String)

Skriver asynkront en sträng till strömmen, följt av en radavslutare.

Explicita gränssnittsimplementeringar

Name Description
IDisposable.Dispose()

En beskrivning av den här medlemmen finns i Dispose().

(Ärvd från TextWriter)

Tilläggsmetoder

Name Description
ConfigureAwait(IAsyncDisposable, Boolean)

Konfigurerar hur väntar på de uppgifter som returneras från en asynkron disponibel ska utföras.

Gäller för

Se även