Sdílet prostřednictvím


StreamWriter Třída

Definice

Implementuje TextWriter 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 se seznamem adresářů na jednotce C a potom používá objekt StreamReader ke čtení a zobrazení názvů jednotlivých adresářů. Osvědčeným postupem je použít tyto objekty v příkazu using, aby nespravované prostředky byly správně uvolněny. Příkaz using automaticky volá Dispose objektu 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 určité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 rozhraní IDisposable. Jakmile typ dokončíte, měli byste ho odstranit buď přímo, nebo nepřímo. Chcete-li typ odstranit přímo, zavolejte jeho Dispose metodu v bloku try/catch. Pokud ho chcete zlikvidovat nepřímo, použijte konstruktor jazyka, jako je using (v jazyce C#) nebo Using (v jazyce Visual Basic). Další informace naleznete v části Použití objektu, který implementuje IDisposable v tématu IDisposable rozhraní.

StreamWriter výchozí nastavení použití instance UTF8Encoding, pokud není uvedeno jinak. Tato instance UTF8Encoding je vytvořena bez značky pořadí bajtů (BOM), takže její GetPreamble metoda vrátí prázdné bajtové pole. Výchozí kódování UTF-8 pro tento konstruktor vyvolá výjimku u neplatných bajtů. Toto chování se liší od chování poskytované objektem kódování ve vlastnosti Encoding.UTF8. 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í StreamWriter bezpečný pro přístup z více vláken. Viz TextWriter.Synchronized obálky bezpečné pro vlákno.

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

Konstruktory

StreamWriter(Stream)

Inicializuje novou instanci StreamWriter třídy pro zadaný datový proud pomocí kódování UTF-8 a výchozí velikost 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í velikost vyrovnávací paměti.

StreamWriter(Stream, Encoding, Int32)

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

StreamWriter(Stream, Encoding, Int32, Boolean)

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

StreamWriter(String)

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

StreamWriter(String, Boolean)

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

StreamWriter(String, Boolean, Encoding, Int32)

Inicializuje novou instanci třídy StreamWriter 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. 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ího 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

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

Vlastnosti

AutoFlush

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

BaseStream

Získá základní datový proud, který rozhraní s backing store.

Encoding

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

FormatProvider

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

(Zděděno od TextWriter)
NewLine

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

(Zděděno od TextWriter)

Metody

Close()

Zavře aktuální objekt StreamWriter 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 serveru sloužící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 uložených do vyrovnávací paměti do podkladového datového proudu, uvolní nespravované prostředky používané StreamWritera volitelně spravované prostředky.

DisposeAsync()

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

DisposeAsync()

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

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

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Uvolní prostředky aktuálního StreamWriter předtím, než se uvolní 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 uložených do vyrovnávací paměti do podkladového datového proudu.

FlushAsync()

Vymaže všechny vyrovnávací paměti pro tento stream asynchronně a způsobí zápis všech dat uložených do vyrovnávací paměti do podkladového zařízení.

FlushAsync()

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

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

Vymaže všechny vyrovnávací paměti pro tento stream asynchronně a způsobí zápis všech dat uložených do vyrovnávací paměti do podkladové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 uložených dat do základního zařízení.

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

Slouží jako výchozí funkce hash.

(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á Type aktuální instance.

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

Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci.

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

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

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

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

(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 hodnoty Boolean do textového streamu.

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

Zapíše znak do datového proudu.

Write(Char[])

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

Write(Char[], Int32, Int32)

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

Write(Decimal)

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

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

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

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

Zapíše textovou reprezentaci 4bajtů podepsaného celé číslo do textového streamu.

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

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

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

Zapíše textovou reprezentaci objektu do textového datového proudu voláním ToString metody na daném objektu.

(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 4bajtů 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 do datového proudu formátovaný řetězec se stejnou sémantikou jako metoda Format(String, Object).

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 do datového proudu formátovaný řetězec se stejnou sémantikou jako metoda Format(String, Object, Object, Object).

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 do datového proudu formátovaný řetězec se stejnou sémantikou jako metoda Format(String, Object[]).

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, ReadOnlySpan<Object>)

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

Write(String, ReadOnlySpan<Object>)

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

(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 4bajtů bez znaménka do textového streamu.

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

Zapíše textovou reprezentaci 8bajtů 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 paměti znaků do datového proudu.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchronně zapíše oblast paměti znaků 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 datového proudu následovaného 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 do textového streamu matici znaků následovanou 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ého ukončovacím řádkem.

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

Zapíše textovou reprezentaci desetinné hodnoty do textového datového proudu následovanou ukončovacím řádkem.

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

Zapíše textovou reprezentaci 8 bajtové hodnoty s plovoucí desetinou čárkou do textového datového proudu následovaného ukončovacím znakem řádku.

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

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

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

Zapíše textovou reprezentaci 8 bajtového celého čísla do textového streamu následovaného ukončovacím řádkem.

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

Zapíše textovou reprezentaci objektu do textového streamu voláním metody ToString na daném objektu následovanou ukončovacím znakem řádku.

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

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

WriteLine(ReadOnlySpan<Char>)

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

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

Zapíše textovou reprezentaci 4bajtů s plovoucí desetinou čárkou do textového datové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 řádkem.

WriteLine(String)

Zapíše řetězec do textového streamu následovaného 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 metoda Format(String, Object).

(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 metoda Format(String, Object, Object).

(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(String, ReadOnlySpan<Object>)

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

WriteLine(String, ReadOnlySpan<Object>)

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

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

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

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

Zapíše textovou reprezentaci 4bajtů bez znaménka 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 8bajtů 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čovací znak řádku 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 datového proudu následovaného ukončovacím řádkem.

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

Asynchronně zapíše dílčí pole znaků do datového proudu následované ukončovacím řádkem.

WriteLineAsync(Char[], Int32, Int32)

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

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

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

WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchronně zapíše textovou reprezentaci oblasti paměti znaku do textového streamu následovaného ukončovacím řádkem.

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

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

WriteLineAsync(String)

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

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

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

(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 čekají na úlohy vrácené z asynchronního jednorázového použití.

Platí pro

Viz také