StreamWriter Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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 |
| Null |
Tillhandahåller ett |
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 |
Metoder
| Name | Description |
|---|---|
| Close() |
Stänger det aktuella |
| 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 |
| 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 |
| 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 |
| 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 |
| 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. |