StreamWriter Třída

Definice

Implementuje TextWriter znak pro zápis znaků do datového proudu v určitém kódování.

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
Dědičnost
StreamWriter
Dědičnost
Atributy

Příklady

Následující příklad ukazuje, jak použít StreamWriter objekt k zápisu souboru, který obsahuje adresáře na jednotce C, a pak používá StreamReader objekt ke čtení a zobrazení jednotlivých názvů adresářů. Osvědčeným postupem je použít tyto objekty v using příkazu, aby se nespravované prostředky správně vyřadily. Příkaz using automaticky volá Dispose objekt po dokončení kódu, který ho používá. Konstruktor použitý v tomto příkladu není podporován pro použití v aplikacích pro Windows Store.

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

Poznámky

StreamWriter je určen pro výstup znaků v konkrétním kódování, zatímco třídy odvozené z Stream jsou určeny pro bajtový vstup a výstup.

Důležité

Tento typ implementuje IDisposable rozhraní. Po dokončení používání tohoto typu byste ho měli přímo nebo nepřímo odstranit. Pokud chcete odstranit typ přímo, zavolejte jeho Dispose metodu try/catch v bloku. Pokud ho chcete odstranit nepřímo, použijte konstruktor jazyka, například using (v jazyce C#) nebo Using (v jazyce Visual Basic). Další informace najdete v části "Použití objektu, který implementuje IDisposable" v IDisposable tématu rozhraní.

StreamWriter výchozí hodnota používá instanci objektu, UTF8Encoding pokud není uvedeno jinak. Tato instance UTF8Encoding je vytvořena bez značky pořadí bajtů (BOM), takže její GetPreamble metoda vrací prázdné bajtové pole. Výchozí kódování UTF-8 pro tento konstruktor vyvolá výjimku pro neplatné bajty. Toto chování se liší od chování poskytovaného objektem kódování ve Encoding.UTF8 vlastnosti. Chcete-li zadat kusovník a určit, zda je vyvolána výjimka pro neplatné bajty, použijte konstruktor, který přijímá objekt kódování jako parametr, například StreamWriter(String, Boolean, Encoding) nebo StreamWriter.

Ve výchozím nastavení není bezpečný z StreamWriter více vláken. Podívejte TextWriter.Synchronized se na obálku bezpečnou pro vlákna.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Konstruktory

StreamWriter(Stream)

Inicializuje novou instanci StreamWriter třídy pro zadaný datový proud pomocí kódování UTF-8 a výchozí velikosti vyrovnávací paměti.

StreamWriter(Stream, Encoding)

Inicializuje novou instanci StreamWriter třídy pro zadaný datový proud pomocí zadaného kódování a výchozí velikosti vyrovnávací paměti.

StreamWriter(Stream, Encoding, Int32)

Inicializuje novou instanci StreamWriter třídy pro zadaný datový proud pomocí zadaného kódování a velikosti vyrovnávací paměti.

StreamWriter(Stream, Encoding, Int32, Boolean)

Inicializuje novou instanci StreamWriter třídy pro zadaný datový proud pomocí zadaného kódování a velikosti vyrovnávací paměti a volitelně ponechá datový proud otevřený.

StreamWriter(String)

Inicializuje novou instanci StreamWriter třídy pro zadaný soubor pomocí výchozího kódování a velikosti vyrovnávací paměti.

StreamWriter(String, Boolean)

Inicializuje novou instanci StreamWriter třídy pro zadaný soubor pomocí výchozího kódování a velikosti vyrovnávací paměti. Pokud soubor existuje, může být přepsán nebo připojen k. Pokud soubor neexistuje, tento konstruktor vytvoří nový soubor.

StreamWriter(String, Boolean, Encoding)

Inicializuje novou instanci StreamWriter třídy pro zadaný soubor pomocí zadaného kódování a výchozí velikosti vyrovnávací paměti. Pokud soubor existuje, může být přepsán nebo připojen k. Pokud soubor neexistuje, tento konstruktor vytvoří nový soubor.

StreamWriter(String, Boolean, Encoding, Int32)

Inicializuje novou instanci StreamWriter třídy pro zadaný soubor v zadané cestě pomocí zadaného kódování a velikosti vyrovnávací paměti. Pokud soubor existuje, může být přepsán nebo připojen k. Pokud soubor neexistuje, tento konstruktor vytvoří nový soubor.

StreamWriter(String, Encoding, FileStreamOptions)

Inicializuje novou instanci StreamWriter třídy pro zadaný soubor pomocí zadaného kódování a nakonfigurovaný se zadaným FileStreamOptions objektem.

StreamWriter(String, FileStreamOptions)

Inicializuje novou instanci StreamWriter třídy pro zadaný soubor pomocí výchozí kódování a nakonfigurovaný se zadaným FileStreamOptions objektem.

Pole

CoreNewLine

Ukládá znaky nového řádku použité pro tento .TextWriter

(Zděděno od TextWriter)
Null

StreamWriter Poskytuje bez záložního úložiště, do kterého se dá zapisovat, ale ne číst.

Vlastnosti

AutoFlush

Získá nebo nastaví hodnotu označující, zda bude vyprázdnět StreamWriter svou vyrovnávací paměť do podkladového datového proudu po každém volání .Write(Char)

BaseStream

Získá podkladový datový proud, který rozhraní s záložní úložiště.

Encoding

Získá, Encoding ve kterém je zapsán výstup.

FormatProvider

Získá objekt, který řídí formátování.

(Zděděno od TextWriter)
NewLine

Získá nebo nastaví řetězec ukončovací čáry používaný aktuální TextWriter.

(Zděděno od TextWriter)

Metody

Close()

Zavře aktuální StreamWriter objekt a podkladový datový proud.

Close()

Zavře aktuální zapisovač a uvolní všechny systémové prostředky přidružené k zapisovači.

(Zděděno od TextWriter)
CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy používaného ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
Dispose()

Uvolní všechny prostředky používané objektem TextWriter .

(Zděděno od TextWriter)
Dispose(Boolean)

Způsobí zápis všech dat do vyrovnávací paměti do podkladového datového proudu, uvolní nespravované prostředky používané objektem StreamWritera volitelně i spravovanými prostředky.

DisposeAsync()

Asynchronně zapíše všechna data ve vyrovnávací paměti do podkladového datového proudu a uvolní nespravované prostředky používané objektem StreamWriter.

DisposeAsync()

Asynchronně uvolní všechny prostředky používané objektem TextWriter .

(Zděděno od TextWriter)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Finalize()

Uvolní prostředky z aktuálního stavu StreamWriter před tím, než je uvolněna uvolňováním paměti.

Flush()

Vymaže všechny vyrovnávací paměti pro aktuální zapisovač a způsobí zápis všech dat do vyrovnávací paměti do podkladového datového proudu.

FlushAsync()

Vymaže všechny vyrovnávací paměti pro tento datový proud asynchronně a způsobí zápis všech dat do vyrovnávací paměti do základního zařízení.

FlushAsync()

Asynchronně vymaže všechny vyrovnávací paměti pro aktuální zapisovač a způsobí zápis všech dat do vyrovnávací paměti do základního zařízení.

(Zděděno od TextWriter)
FlushAsync(CancellationToken)

Vymaže všechny vyrovnávací paměti pro tento datový proud asynchronně a způsobí zápis všech dat do vyrovnávací paměti do základního zařízení.

FlushAsync(CancellationToken)

Asynchronně vymaže všechny vyrovnávací paměti pro aktuální zapisovač a způsobí zápis všech dat do vyrovnávací paměti do základního zařízení.

(Zděděno od TextWriter)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
Write(Boolean)

Zapíše textovou reprezentaci Boolean hodnoty do textového streamu.

(Zděděno od TextWriter)
Write(Char)

Zapíše znak do datového proudu.

Write(Char[])

Zapíše pole znaků do datového proudu.

Write(Char[], Int32, Int32)

Zapíše do datového proudu dílčí pole znaků.

Write(Decimal)

Zapíše textovou reprezentaci desetinné hodnoty do textového proudu.

(Zděděno od TextWriter)
Write(Double)

Zapíše textovou reprezentaci hodnoty 8 bajtů s plovoucí desetinou čárkou do textového streamu.

(Zděděno od TextWriter)
Write(Int32)

Zapíše textovou reprezentaci 4 bajtového celého čísla se 4 bajty do textového datového proudu.

(Zděděno od TextWriter)
Write(Int64)

Zapíše do textového datového proudu textovou reprezentaci 8 bajtů se psaných čísly se sadou 8 bajtů.

(Zděděno od TextWriter)
Write(Object)

Zapíše textovou reprezentaci objektu do textového streamu voláním ToString metody pro tento objekt.

(Zděděno od TextWriter)
Write(ReadOnlySpan<Char>)

Zapíše rozsah znaků do datového proudu.

Write(ReadOnlySpan<Char>)

Zapíše rozsah znaků do textového streamu.

(Zděděno od TextWriter)
Write(Single)

Zapíše textovou reprezentaci 4 bajtové hodnoty s plovoucí desetinou čárkou do textového streamu.

(Zděděno od TextWriter)
Write(String)

Zapíše řetězec do datového proudu.

Write(String, Object)

Zapíše formátovaný řetězec do datového proudu pomocí stejné sémantiky jako Format(String, Object) metoda .

Write(String, Object)

Zapíše formátovaný řetězec do textového streamu pomocí stejné sémantiky jako Format(String, Object) metoda .

(Zděděno od TextWriter)
Write(String, Object, Object)

Zapíše formátovaný řetězec do datového proudu pomocí stejné sémantiky jako Format(String, Object, Object) metoda .

Write(String, Object, Object)

Zapíše formátovaný řetězec do textového streamu pomocí stejné sémantiky jako Format(String, Object, Object) metoda .

(Zděděno od TextWriter)
Write(String, Object, Object, Object)

Zapíše formátovaný řetězec do datového proudu pomocí stejné sémantiky jako Format(String, Object, Object, Object) metoda .

Write(String, Object, Object, Object)

Zapíše formátovaný řetězec do textového streamu pomocí stejné sémantiky jako Format(String, Object, Object, Object) metoda .

(Zděděno od TextWriter)
Write(String, Object[])

Zapíše formátovaný řetězec do datového proudu pomocí stejné sémantiky jako Format(String, Object[]) metoda .

Write(String, Object[])

Zapíše formátovaný řetězec do textového streamu pomocí stejné sémantiky jako Format(String, Object[]) metoda .

(Zděděno od TextWriter)
Write(StringBuilder)

Zapíše tvůrce řetězců do textového streamu.

(Zděděno od TextWriter)
Write(UInt32)

Zapíše textovou reprezentaci 4 bajtového celého čísla bez znaménka do textového streamu.

(Zděděno od TextWriter)
Write(UInt64)

Zapíše textovou reprezentaci 8 bajtového celého čísla bez znaménka do textového streamu.

(Zděděno od TextWriter)
WriteAsync(Char)

Asynchronně zapíše znak do datového proudu.

WriteAsync(Char)

Zapíše znak do textového streamu asynchronně.

(Zděděno od TextWriter)
WriteAsync(Char[])

Zapíše pole znaků do textového streamu asynchronně.

(Zděděno od TextWriter)
WriteAsync(Char[], Int32, Int32)

Asynchronně zapíše dílčí pole znaků do datového proudu.

WriteAsync(Char[], Int32, Int32)

Zapíše dílčí pole znaků do textového streamu asynchronně.

(Zděděno od TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchronně zapíše oblast znakové paměti do datového proudu.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchronně zapíše oblast znakové paměti do textového streamu.

(Zděděno od TextWriter)
WriteAsync(String)

Asynchronně zapíše řetězec do datového proudu.

WriteAsync(String)

Zapíše řetězec do textového streamu asynchronně.

(Zděděno od TextWriter)
WriteAsync(StringBuilder, CancellationToken)

Asynchronně zapíše tvůrce řetězců do textového streamu.

(Zděděno od TextWriter)
WriteLine()

Zapíše ukončovací znak řádku do textového streamu.

(Zděděno od TextWriter)
WriteLine(Boolean)

Zapíše textovou reprezentaci Boolean hodnoty do textového streamu následovanou ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(Char)

Zapíše znak do textového streamu následovaný ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(Char[])

Zapíše pole znaků do textového streamu následované ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(Char[], Int32, Int32)

Zapíše dílčí pole znaků do textového streamu následované ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(Decimal)

Zapíše textovou reprezentaci desetinné hodnoty do textového proudu následovaného ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(Double)

Zapíše textovou reprezentaci hodnoty s plovoucí desetinou čárkou o velikosti 8 bajtů do textového proudu následovanou ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(Int32)

Zapíše textovou reprezentaci 4 bajtového podepsaného celého čísla do textového streamu následovaného ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(Int64)

Zapíše textovou reprezentaci 8 bajtů podepsaného celého čísla do textového streamu následovaného ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(Object)

Zapíše textovou reprezentaci objektu do textového streamu voláním ToString metody pro tento objekt následovaný ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(ReadOnlySpan<Char>)

Zapíše textovou reprezentaci rozsahu znaků do datového proudu následovaný ukončovacím znakem.

WriteLine(ReadOnlySpan<Char>)

Zapíše textovou reprezentaci rozsahu znaků do textového streamu následovaného ukončovacím znakem.

(Zděděno od TextWriter)
WriteLine(Single)

Zapíše textovou reprezentaci hodnoty s plovoucí desetinou čárkou o velikosti 4 bajtů do textového proudu následovaného ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(String)

Zapíše řetězec do datového proudu následovaný ukončovacím znakem řádku.

WriteLine(String)

Zapíše řetězec do textového streamu následovaný ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(String, Object)

Zapíše formátovaný řetězec a nový řádek do datového proudu pomocí stejné sémantiky jako Format(String, Object) metoda.

WriteLine(String, Object)

Zapíše formátovaný řetězec a nový řádek do textového streamu pomocí stejné sémantiky jako Format(String, Object) metoda.

(Zděděno od TextWriter)
WriteLine(String, Object, Object)

Zapíše formátovaný řetězec a nový řádek do datového proudu pomocí stejné sémantiky jako Format(String, Object, Object) metoda.

WriteLine(String, Object, Object)

Zapíše formátovaný řetězec a nový řádek do textového streamu pomocí stejné sémantiky jako Format(String, Object, Object) metoda.

(Zděděno od TextWriter)
WriteLine(String, Object, Object, Object)

Zapíše formátovaný řetězec a nový řádek do datového proudu pomocí stejné sémantiky jako Format(String, Object).

WriteLine(String, Object, Object, Object)

Zapíše formátovaný řetězec a nový řádek do textového streamu pomocí stejné sémantiky jako Format(String, Object).

(Zděděno od TextWriter)
WriteLine(String, Object[])

Zapíše formátovaný řetězec a nový řádek do datového proudu pomocí stejné sémantiky jako Format(String, Object).

WriteLine(String, Object[])

Zapíše formátovaný řetězec a nový řádek do textového streamu pomocí stejné sémantiky jako Format(String, Object).

(Zděděno od TextWriter)
WriteLine(StringBuilder)

Zapíše textovou reprezentaci tvůrce řetězců do textového streamu následovanou ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(UInt32)

Zapíše textovou reprezentaci 4bajtů bez znaménka celé číslo do textového datového proudu následovaného ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLine(UInt64)

Zapíše textovou reprezentaci 8 bajtového celého čísla bez znaménka do textového datového proudu následovaného ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLineAsync()

Asynchronně zapíše ukončovací znak řádku do datového proudu.

WriteLineAsync()

Asynchronně zapíše ukončovač řádků do textového streamu.

(Zděděno od TextWriter)
WriteLineAsync(Char)

Asynchronně zapíše znak do datového proudu následovaný ukončovacím znakem řádku.

WriteLineAsync(Char)

Asynchronně zapíše znak do textového streamu následovaný ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLineAsync(Char[])

Asynchronně zapíše pole znaků do textového streamu následované ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLineAsync(Char[], Int32, Int32)

Asynchronně zapisuje do datového proudu dílčí pole znaků následované ukončovacím znakem řádku.

WriteLineAsync(Char[], Int32, Int32)

Asynchronně zapíše do textového datového proudu podadresu znaků následovanou ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchronně zapisuje textovou reprezentaci oblasti paměti znaků do datového proudu následovaný ukončovacím znakem.

WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchronně zapíše textovou reprezentaci oblasti paměti znaků do textového streamu následovaný ukončovacím znakem.

(Zděděno od TextWriter)
WriteLineAsync(String)

Asynchronně zapíše řetězec do datového proudu následovaný ukončovacím znakem řádku.

WriteLineAsync(String)

Asynchronně zapíše řetězec do textového streamu následovaný ukončovacím znakem řádku.

(Zděděno od TextWriter)
WriteLineAsync(StringBuilder, CancellationToken)

Asynchronně zapíše textovou reprezentaci tvůrce řetězců do textového streamu následovaný ukončovacím znakem řádku.

(Zděděno od TextWriter)

Explicitní implementace rozhraní

IDisposable.Dispose()

Popis tohoto člena najdete v tématu Dispose().

(Zděděno od TextWriter)

Metody rozšíření

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje, jak se provádí čekání na úlohy vrácené z asynchronního jednorázového použití.

Platí pro

Viz také