Sdílet prostřednictvím


StreamWriter Třída

Definice

Implementuje TextWriter 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 pomocí objektu StreamWriter zapsat soubor, který obsahuje adresáře na jednotce C a pak pomocí objektu StreamReader číst a zobrazovat názvy jednotlivých adresářů. Dobrým postupem je použít tyto objekty v using příkazu, aby byly nespravované prostředky správně uvolněny. 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 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 IDisposable tématu rozhraní.

StreamWriter výchozí hodnota pro použití instance UTF8Encoding , pokud není zadán jinak. Tato instance UTF8Encoding je vytvořena bez značky pořadí bajtů (BOM), takže jeho 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 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é vlákno StreamWriter . Podívejte TextWriter.Synchronized se na obálku bezpečnou pro vlákno.

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

Konstruktory

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

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

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)

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)

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(String, Boolean, Encoding, Int32)

Inicializuje novou instanci StreamWriter třídy pro zadaný soubor v zadané cestě pomocí zadané 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)

Inicializuje novou instanci StreamWriter třídy pro zadaný soubor pomocí výchozí kódování a velikost 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.

StreamWriter(String)

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

Pole

Name Description
CoreNewLine

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

(Zděděno od TextWriter)
Null

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

Vlastnosti

Name Description
AutoFlush

Získá nebo nastaví hodnotu určující, zda StreamWriter bude vyprázdnit 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í TextWriter.

(Zděděno od TextWriter)

Metody

Name Description
Close()

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

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 veškerých dat uložených do vyrovnávací paměti do podkladového datového proudu, uvolní nespravované prostředky používané StreamWriternástrojem a volitelně spravované prostředky.

DisposeAsync()

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

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 stavu 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(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í.

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

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

Zapíše znak do datového proudu.

Write(Char[], Int32, Int32)

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

Write(Char[])

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

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(Rune)

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

(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, 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, 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)

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[])

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

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

Write(String)

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

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[], Int32, Int32)

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

WriteAsync(Char[])

Zapíše 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(Rune)

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

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

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

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

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

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 hodnoty do textového Boolean streamu 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[], 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(Char[])

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

(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 ToString metody 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(Rune)

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

(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, 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, 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)

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[])

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)

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(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(CancellationToken)

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

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

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

WriteLineAsync(Char[], Int32, Int32)

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

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(ReadOnlyMemory<Char>, CancellationToken)

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

WriteLineAsync(Rune)

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

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

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

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

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

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í

Name Description
IDisposable.Dispose()

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

(Zděděno od TextWriter)

Metody rozšíření

Name Description
ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje, jak čekají na úlohy vrácené z asynchronního jednorázového použití.

Platí pro

Viz také