StreamWriter Osztály

Definíció

Implementál egy TextWriter karaktert egy streambe egy adott kódolásban.

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
Öröklődés
StreamWriter
Öröklődés
Attribútumok

Példák

Az alábbi példa bemutatja, hogyan írhat egy objektumot StreamWriter olyan fájl írásához, amely felsorolja a címtárakat a C meghajtón, majd egy StreamReader objektummal olvassa és jeleníti meg az egyes címtárneveket. Az ajánlott eljárás az objektumok utasításban using való használata, hogy a nem felügyelt erőforrások megfelelően legyenek megsemmisítve. Az using utasítás automatikusan meghívja Dispose az objektumot, amikor az azt használó kód befejeződött. Az ebben a példában használt konstruktor nem támogatott Windows Áruházbeli alkalmazásokban való használatra.

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

Megjegyzések

StreamWriter karakterkimenetre tervezték egy adott kódolásban, míg a származtatott Stream osztályok bájtos bemenetre és kimenetre vannak tervezve.

Important

Ez a típus implementálja a IDisposable felületet. Ha befejezte a típus használatát, közvetlenül vagy közvetve kell megsemmisítenie. A típus közvetlen ártalmatlanításához hívja meg a Dispose metódust egy try/catch blokkban. Ha közvetve szeretné megsemmisíteni, használjon olyan nyelvi szerkezetet, mint a using (C#-ban) vagy Using (a Visual Basicben). További információ: "Az IDisposable-t megvalósító objektum használata" című szakasz a IDisposable felület témakörében.

StreamWriter alapértelmezés szerint egy példányt UTF8Encoding használ, kivéve, ha másként van megadva. Ez a UTF8Encoding példány bájtsorrendjel (BOM) nélkül jön létre, így a GetPreamble metódus üres bájttömböt ad vissza. A konstruktor alapértelmezett UTF-8 kódolása kivételt eredményez érvénytelen bájtokon. Ez a viselkedés eltér a tulajdonságban Encoding.UTF8 található kódolási objektum által biztosított viselkedéstől. Ha meg szeretne adni egy anyagjegyzéket, és meg szeretné állapítani, hogy érvénytelen bájtokra történik-e kivétel, használjon olyan konstruktort, amely paraméterként elfogad egy kódolási objektumot, például StreamWriter(String, Boolean, Encoding) vagy StreamWriter.

Alapértelmezés szerint az a StreamWriter nem biztonságos szál. Tekintse meg TextWriter.Synchronized a szálbiztos burkolót.

A gyakori I/O-feladatok listáját a Gyakori I/O-feladatok című témakörben találja.

Konstruktorok

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

Inicializálja a StreamWriter megadott stream osztályának egy új példányát a megadott kódolási és pufferméret használatával, és opcionálisan nyitva hagyja a streamet.

StreamWriter(Stream, Encoding, Int32)

Inicializálja a StreamWriter megadott stream osztályának új példányát a megadott kódolási és pufferméret használatával.

StreamWriter(Stream, Encoding)

Inicializálja a StreamWriter megadott stream osztályának új példányát a megadott kódolás és az alapértelmezett pufferméret használatával.

StreamWriter(Stream)

Inicializálja a StreamWriter megadott stream osztályának új példányát az UTF-8 kódolás és az alapértelmezett pufferméret használatával.

StreamWriter(String, Boolean, Encoding, Int32)

Inicializálja a StreamWriter megadott fájl osztályának új példányát a megadott elérési úton a megadott kódolási és pufferméret használatával. Ha a fájl létezik, felülírható vagy hozzáfűzhető. Ha a fájl nem létezik, ez a konstruktor létrehoz egy új fájlt.

StreamWriter(String, Boolean, Encoding)

Inicializálja a StreamWriter megadott fájl osztályának új példányát a megadott kódolási és alapértelmezett pufferméret használatával. Ha a fájl létezik, felülírható vagy hozzáfűzhető. Ha a fájl nem létezik, ez a konstruktor létrehoz egy új fájlt.

StreamWriter(String, Boolean)

Inicializálja a StreamWriter megadott fájl osztályának új példányát az alapértelmezett kódolás és pufferméret használatával. Ha a fájl létezik, felülírható vagy hozzáfűzhető. Ha a fájl nem létezik, ez a konstruktor létrehoz egy új fájlt.

StreamWriter(String, Encoding, FileStreamOptions)

Inicializálja a StreamWriter megadott fájl osztályának új példányát a megadott kódolással, és konfigurálja a megadott FileStreamOptions objektummal.

StreamWriter(String, FileStreamOptions)

Inicializálja a StreamWriter megadott fájl osztályának új példányát az alapértelmezett kódolással, és konfigurálja a megadott FileStreamOptions objektummal.

StreamWriter(String)

Inicializálja a StreamWriter megadott fájl osztályának új példányát az alapértelmezett kódolás és pufferméret használatával.

Mezők

Name Description
CoreNewLine

A az ehhez használt új vonalkarakterek TextWritertárolására szolgál.

(Öröklődés forrása TextWriter)
Null

Olyan háttértárat StreamWriter biztosít, amelybe írható, de nem olvasható.

Tulajdonságok

Name Description
AutoFlush

Lekéri vagy beállít egy értéket, amely jelzi, hogy a StreamWriter rendszer minden hívás után kiüríti-e a puffert a mögöttes adatfolyamba Write(Char).

BaseStream

Lekéri a háttértárhoz csatlakozó mögöttes streamet.

Encoding

Lekéri a Encoding kimenet írási értékét.

FormatProvider

Lekéri a formázást vezérlő objektumot.

(Öröklődés forrása TextWriter)
NewLine

Lekéri vagy beállítja az aktuális TextWriteráltal használt vonal-terminátor sztringet.

(Öröklődés forrása TextWriter)

Metódusok

Name Description
Close()

Bezárja az aktuális StreamWriter objektumot és a mögöttes streamet.

CreateObjRef(Type)

Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt.

(Öröklődés forrása MarshalByRefObject)
Dispose()

Felszabadítja az objektum által használt összes erőforrást TextWriter .

(Öröklődés forrása TextWriter)
Dispose(Boolean)

A pufferelt adatok az alapul szolgáló streambe írhatók, a nem felügyelt StreamWritererőforrásokat a felügyelt erőforrások és opcionálisan a felügyelt erőforrások is felszabadítják.

DisposeAsync()

Aszinkron módon minden pufferelt adatot a mögöttes adatfolyamba ír, és felszabadítja a rendszer által StreamWriterhasznált nem felügyelt erőforrásokat.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
Finalize()

Felszabadítja az aktuális StreamWriter erőforrásokat, mielőtt a szemétgyűjtő visszanyeri azt.

Flush()

Törli az aktuális író összes pufferét, és a pufferelt adatokat az alapul szolgáló adatfolyamba írja.

FlushAsync()

A stream összes pufferét aszinkron módon törli, és a pufferelt adatokat a mögöttes eszközre írja.

FlushAsync(CancellationToken)

A stream összes pufferét aszinkron módon törli, és a pufferelt adatokat a mögöttes eszközre írja.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetLifetimeService()
Elavult.

Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot.

(Öröklődés forrása MarshalByRefObject)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
InitializeLifetimeService()
Elavult.

Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához.

(Öröklődés forrása MarshalByRefObject)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
MemberwiseClone(Boolean)

Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre.

(Öröklődés forrása MarshalByRefObject)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
Write(Boolean)

Egy érték szöveges ábrázolását Boolean írja a szövegstreambe.

(Öröklődés forrása TextWriter)
Write(Char)

Karaktert ír a streambe.

Write(Char[], Int32, Int32)

Karakterek alarráit írja a streambe.

Write(Char[])

Karaktertömböt ír a streambe.

Write(Decimal)

Decimális érték szöveges ábrázolását írja a szövegfolyamba.

(Öröklődés forrása TextWriter)
Write(Double)

Egy 8 bájtos lebegőpontos érték szöveges ábrázolását írja a szövegfolyamba.

(Öröklődés forrása TextWriter)
Write(Int32)

Egy 4 bájtos aláírt egész szám szöveges ábrázolását írja a szövegstreambe.

(Öröklődés forrása TextWriter)
Write(Int64)

Egy 8 bájtos aláírt egész szám szöveges ábrázolását írja a szövegstreambe.

(Öröklődés forrása TextWriter)
Write(Object)

Egy objektum szöveges ábrázolását írja a szövegstreambe az ToString objektum metódusának meghívásával.

(Öröklődés forrása TextWriter)
Write(ReadOnlySpan<Char>)

Karaktert ír a streambe.

Write(Rune)

Implementál egy TextWriter karaktert egy streambe egy adott kódolásban.

(Öröklődés forrása TextWriter)
Write(Single)

Egy 4 bájtos lebegőpontos érték szöveges ábrázolását írja a szövegstreambe.

(Öröklődés forrása TextWriter)
Write(String, Object, Object, Object)

Formázott sztringet ír a streambe ugyanazzal a szemantikával, mint a Format(String, Object, Object, Object) metódus.

Write(String, Object, Object, Object)

Formázott sztringet ír a szövegstreambe ugyanazzal a szemantikával, mint a Format(String, Object, Object, Object) metódus.

(Öröklődés forrása TextWriter)
Write(String, Object, Object)

Formázott sztringet ír a streambe ugyanazzal a szemantikával, mint a Format(String, Object, Object) metódus.

Write(String, Object, Object)

Formázott sztringet ír a szövegfolyamba ugyanazzal a szemantikával, mint a Format(String, Object, Object) metódus.

(Öröklődés forrása TextWriter)
Write(String, Object)

Formázott sztringet ír a streambe ugyanazzal a szemantikával, mint a Format(String, Object) metódus.

Write(String, Object)

Formázott sztringet ír a szövegstreambe ugyanazzal a szemantikával, mint a Format(String, Object) metódus.

(Öröklődés forrása TextWriter)
Write(String, Object[])

Formázott sztringet ír a streambe ugyanazzal a szemantikával, mint a Format(String, Object[]) metódus.

Write(String, Object[])

Formázott sztringet ír a szövegstreambe ugyanazzal a szemantikával, mint a Format(String, Object[]) metódus.

(Öröklődés forrása TextWriter)
Write(String, ReadOnlySpan<Object>)

Formázott sztringet ír a streambe ugyanazzal a szemantikával, mint Format(String, ReadOnlySpan<Object>)a .

Write(String)

Sztringet ír a streambe.

Write(StringBuilder)

Sztringszerkesztőt ír a szövegstreambe.

(Öröklődés forrása TextWriter)
Write(UInt32)

Egy 4 bájtos, aláíratlan egész szám szöveges ábrázolását írja a szövegstreambe.

(Öröklődés forrása TextWriter)
Write(UInt64)

Egy 8 bájtos, aláíratlan egész szám szöveges ábrázolását írja a szövegfolyamba.

(Öröklődés forrása TextWriter)
WriteAsync(Char)

Aszinkron módon ír egy karaktert a streambe.

WriteAsync(Char[], Int32, Int32)

Aszinkron módon karakterek alarráit írja a streambe.

WriteAsync(Char[])

Karaktertömb írása aszinkron módon a szövegfolyamba.

(Öröklődés forrása TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Aszinkron módon ír egy karaktermemória-régiót a streambe.

WriteAsync(Rune)

Implementál egy TextWriter karaktert egy streambe egy adott kódolásban.

(Öröklődés forrása TextWriter)
WriteAsync(String, CancellationToken)

Implementál egy TextWriter karaktert egy streambe egy adott kódolásban.

(Öröklődés forrása TextWriter)
WriteAsync(String)

Aszinkron módon sztringet ír a streambe.

WriteAsync(StringBuilder, CancellationToken)

Aszinkron módon sztringszerkesztőt ír a szövegstreambe.

(Öröklődés forrása TextWriter)
WriteLine()

Egy sorkiadót ír a szövegstreambe.

(Öröklődés forrása TextWriter)
WriteLine(Boolean)

Egy érték szöveges ábrázolását Boolean írja a szövegstreambe, majd egy sorkiadót.

(Öröklődés forrása TextWriter)
WriteLine(Char)

Karaktert ír a szövegfolyamba, majd egy sorkiválasztót.

(Öröklődés forrása TextWriter)
WriteLine(Char[], Int32, Int32)

A szövegfolyamba karakterek alarráit írja, amelyet egy sorkiválasztó követ.

(Öröklődés forrása TextWriter)
WriteLine(Char[])

Egy karaktertömböt ír a szövegstreambe, amelyet egy sor terminátor követ.

(Öröklődés forrása TextWriter)
WriteLine(Decimal)

Egy decimális érték szöveges ábrázolását írja a szövegfolyamba, majd egy sorkiválasztót.

(Öröklődés forrása TextWriter)
WriteLine(Double)

Egy 8 bájtos lebegőpontos érték szöveges ábrázolását írja a szövegfolyamba, majd egy sorkijelölőt.

(Öröklődés forrása TextWriter)
WriteLine(Int32)

Egy 4 bájtos aláírt egész szám szöveges ábrázolását írja a szövegfolyamba, majd egy sorkijelölőt.

(Öröklődés forrása TextWriter)
WriteLine(Int64)

Egy 8 bájtos aláírt egész szám szöveges ábrázolását írja a szövegfolyamba, majd egy sorkijelölőt.

(Öröklődés forrása TextWriter)
WriteLine(Object)

Egy objektum szövegábrázolását írja a szövegstreambe a metódus meghívásával ToString az objektumon, majd egy sorkiadóval.

(Öröklődés forrása TextWriter)
WriteLine(ReadOnlySpan<Char>)

Egy karakter span szöveges ábrázolását írja a streambe, majd egy sorkijelezőt.

WriteLine(Rune)

Implementál egy TextWriter karaktert egy streambe egy adott kódolásban.

(Öröklődés forrása TextWriter)
WriteLine(Single)

Egy 4 bájtos lebegőpontos érték szöveges ábrázolását írja a szövegfolyamba, majd egy sorkijelölőt.

(Öröklődés forrása TextWriter)
WriteLine(String, Object, Object, Object)

Formázott sztringet és egy új sort ír ki a streambe ugyanazzal a szemantikával, mint Format(String, Object)a .

WriteLine(String, Object, Object, Object)

Formázott sztringet és egy új sort ír ki a szövegfolyamba ugyanazzal a szemantikával, mint Format(String, Object)a .

(Öröklődés forrása TextWriter)
WriteLine(String, Object, Object)

Formázott sztringet és egy új sort ír a streambe ugyanazzal a szemantikával, mint a Format(String, Object, Object) metódus.

WriteLine(String, Object, Object)

Formázott sztringet és egy új sort ír a szövegfolyamba ugyanazzal a szemantikával, mint a Format(String, Object, Object) metódus.

(Öröklődés forrása TextWriter)
WriteLine(String, Object)

Formázott sztringet és egy új sort ír a streambe ugyanazzal a szemantikával, mint a Format(String, Object) metódus.

WriteLine(String, Object)

Formázott sztringet és egy új sort ír a szövegfolyamba ugyanazzal a szemantikával, mint a Format(String, Object) metódus.

(Öröklődés forrása TextWriter)
WriteLine(String, Object[])

Formázott sztringet és egy új sort ír ki a streambe ugyanazzal a szemantikával, mint Format(String, Object)a .

WriteLine(String, Object[])

Formázott sztringet és egy új sort ír ki a szövegfolyamba ugyanazzal a szemantikával, mint Format(String, Object)a .

(Öröklődés forrása TextWriter)
WriteLine(String, ReadOnlySpan<Object>)

Formázott sztringet és egy új sort ír ki a streambe ugyanazzal a szemantikával, mint Format(String, ReadOnlySpan<Object>)a .

WriteLine(String)

Sztringet ír a streambe, amelyet egy sor terminátor követ.

WriteLine(String)

Sztringet ír a szövegfolyamba, majd egy sorkiválasztót.

(Öröklődés forrása TextWriter)
WriteLine(StringBuilder)

Egy sztringszerkesztő szövegábrázolását írja a szövegfolyamba, majd egy sorkiadót.

(Öröklődés forrása TextWriter)
WriteLine(UInt32)

Egy 4 bájtos, aláíratlan egész szám szöveges ábrázolását írja a szövegfolyamba, majd egy sorkijelzőt.

(Öröklődés forrása TextWriter)
WriteLine(UInt64)

Egy 8 bájtból álló, aláíratlan egész szám szöveges ábrázolását írja a szövegfolyamba, majd egy sorkijelzőt.

(Öröklődés forrása TextWriter)
WriteLineAsync()

Aszinkron módon egy sor terminátort ír a streambe.

WriteLineAsync(CancellationToken)

Implementál egy TextWriter karaktert egy streambe egy adott kódolásban.

(Öröklődés forrása TextWriter)
WriteLineAsync(Char)

Aszinkron módon egy karaktert ír a streambe, amelyet egy sor terminátor követ.

WriteLineAsync(Char[], Int32, Int32)

Aszinkron módon karakterek alarráit írja a streambe, majd egy sor terminátort.

WriteLineAsync(Char[])

Aszinkron módon egy karaktertömböt ír a szövegstreambe, amelyet egy sorkiválasztó követ.

(Öröklődés forrása TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Aszinkron módon egy karaktermemória-régió szöveges ábrázolását írja a streambe, amelyet egy sor terminátor követ.

WriteLineAsync(Rune)

Implementál egy TextWriter karaktert egy streambe egy adott kódolásban.

(Öröklődés forrása TextWriter)
WriteLineAsync(String, CancellationToken)

Implementál egy TextWriter karaktert egy streambe egy adott kódolásban.

(Öröklődés forrása TextWriter)
WriteLineAsync(String)

Aszinkron módon sztringet ír a streambe, amelyet egy sor terminátor követ.

WriteLineAsync(StringBuilder, CancellationToken)

Aszinkron módon egy sztringszerkesztő szövegábrázolását írja a szövegfolyamba, majd egy sor terminátort.

(Öröklődés forrása TextWriter)

Explicit interfész-implementációk

Name Description
IDisposable.Dispose()

Ennek a tagnak a leírását lásd Dispose(): .

(Öröklődés forrása TextWriter)

Bővítő metódusok

Name Description
ConfigureAwait(IAsyncDisposable, Boolean)

Konfigurálja, hogy az aszinkron eldobható feladatok hogyan lesznek végrehajtva.

A következőre érvényes:

Lásd még