StreamWriter Klasa

Definicja

Implementuje element TextWriter do zapisywania znaków w strumieniu w określonym kodowaniu.

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
Dziedziczenie
StreamWriter
Dziedziczenie
Atrybuty

Przykłady

W poniższym przykładzie pokazano, jak użyć StreamWriter obiektu do zapisania pliku zawierającego listę katalogów na dysku C, a następnie używa StreamReader obiektu do odczytywania i wyświetlania każdej nazwy katalogu. Dobrym rozwiązaniem using jest użycie tych obiektów w instrukcji, aby zasoby niezarządzane były prawidłowo usuwane. Instrukcja using automatycznie wywołuje Dispose obiekt, gdy kod, którego używa, został ukończony. Konstruktor używany w tym przykładzie nie jest obsługiwany do użycia w aplikacjach ze Sklepu Windows.

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

Uwagi

StreamWriter jest przeznaczony do danych wyjściowych znaków w określonym kodowaniu, natomiast klasy pochodzące z Stream klasy są przeznaczone do danych wejściowych i wyjściowych bajtów.

Ważne

Ten typ implementuje IDisposable interfejs. Po zakończeniu korzystania z typu należy go usunąć bezpośrednio lub pośrednio. Aby usunąć typ bezpośrednio, wywołaj metodę Disposetry/catch w bloku. Aby usunąć go pośrednio, użyj konstrukcji językowej, takiej jak using (w języku C#) lub Using (w Visual Basic). Aby uzyskać więcej informacji, zobacz sekcję "Using an Object that Implements IDisposable" (Używanie obiektu implementujące protokół IDisposable) w temacie interfejsu IDisposable .

StreamWriter domyślnie używa wystąpienia, UTF8Encoding chyba że określono inaczej. To wystąpienie UTF8Encoding jest konstruowane bez znaku kolejności bajtów (BOM), dlatego metoda GetPreamble zwraca pustą tablicę bajtów. Domyślne kodowanie UTF-8 dla tego konstruktora zgłasza wyjątek dla nieprawidłowych bajtów. To zachowanie różni się od zachowania udostępnianego przez obiekt kodowania we Encoding.UTF8 właściwości. Aby określić obiekt BOM i określić, czy wyjątek jest zgłaszany w nieprawidłowych bajtach, należy użyć konstruktora, który akceptuje obiekt kodowania jako parametr, taki jak StreamWriter(String, Boolean, Encoding) lub StreamWriter.

Domyślnie StreamWriter element nie jest bezpieczny wątkiem. Zobacz, aby zapoznać się TextWriter.Synchronized z otoką bezpieczną wątkowo.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Konstruktory

StreamWriter(Stream)

Inicjuje StreamWriter nowe wystąpienie klasy dla określonego strumienia przy użyciu kodowania UTF-8 i domyślnego rozmiaru buforu.

StreamWriter(Stream, Encoding)

Inicjuje StreamWriter nowe wystąpienie klasy dla określonego strumienia przy użyciu określonego kodowania i domyślnego rozmiaru buforu.

StreamWriter(Stream, Encoding, Int32)

Inicjuje StreamWriter nowe wystąpienie klasy dla określonego strumienia przy użyciu określonego kodowania i rozmiaru buforu.

StreamWriter(Stream, Encoding, Int32, Boolean)

Inicjuje StreamWriter nowe wystąpienie klasy dla określonego strumienia przy użyciu określonego rozmiaru kodowania i buforu, a opcjonalnie pozostawia otwarty strumień.

StreamWriter(String)

Inicjuje StreamWriter nowe wystąpienie klasy dla określonego pliku przy użyciu domyślnego kodowania i rozmiaru buforu.

StreamWriter(String, Boolean)

Inicjuje StreamWriter nowe wystąpienie klasy dla określonego pliku przy użyciu domyślnego kodowania i rozmiaru buforu. Jeśli plik istnieje, można go zastąpić lub dołączyć do niego. Jeśli plik nie istnieje, ten konstruktor tworzy nowy plik.

StreamWriter(String, Boolean, Encoding)

Inicjuje StreamWriter nowe wystąpienie klasy dla określonego pliku przy użyciu określonego kodowania i domyślnego rozmiaru buforu. Jeśli plik istnieje, można go zastąpić lub dołączyć do niego. Jeśli plik nie istnieje, ten konstruktor tworzy nowy plik.

StreamWriter(String, Boolean, Encoding, Int32)

Inicjuje StreamWriter nowe wystąpienie klasy dla określonego pliku w określonej ścieżce przy użyciu określonego kodowania i rozmiaru buforu. Jeśli plik istnieje, można go zastąpić lub dołączyć do niego. Jeśli plik nie istnieje, ten konstruktor tworzy nowy plik.

StreamWriter(String, Encoding, FileStreamOptions)

Inicjuje nowe wystąpienie StreamWriter klasy dla określonego pliku przy użyciu określonego kodowania i skonfigurowane przy użyciu określonego FileStreamOptions obiektu.

StreamWriter(String, FileStreamOptions)

Inicjuje StreamWriter nowe wystąpienie klasy dla określonego pliku przy użyciu kodowania domyślnego i skonfigurowane z określonym FileStreamOptions obiektem.

Pola

CoreNewLine

Przechowuje nowe znaki wiersza używane dla tego TextWriterelementu .

(Odziedziczone po TextWriter)
Null

Zapewnia magazyn StreamWriter bez kopii zapasowych, do którego można zapisywać dane, ale nie jest odczytywany.

Właściwości

AutoFlush

Pobiera lub ustawia wartość wskazującą, czy StreamWriter bufor zostanie opróżniany do bazowego strumienia po każdym wywołaniu metody Write(Char).

BaseStream

Pobiera podstawowy strumień, który interfejsy z magazynem zaplecza.

Encoding

Pobiera dane Encoding wyjściowe, w których są zapisywane dane wyjściowe.

FormatProvider

Pobiera obiekt, który kontroluje formatowanie.

(Odziedziczone po TextWriter)
NewLine

Pobiera lub ustawia ciąg terminatora wiersza używany przez bieżący TextWriterelement .

(Odziedziczone po TextWriter)

Metody

Close()

Zamyka bieżący StreamWriter obiekt i źródłowy strumień.

Close()

Zamyka bieżący składnik zapisywania i zwalnia wszystkie zasoby systemowe skojarzone z modułem zapisywania.

(Odziedziczone po TextWriter)
CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia wszystkie zasoby używane przez TextWriter obiekt.

(Odziedziczone po TextWriter)
Dispose(Boolean)

Powoduje zapisanie wszystkich buforowanych danych do bazowego strumienia, zwalnia niezarządzane zasoby używane przez StreamWriterprogram i opcjonalnie zasoby zarządzane.

DisposeAsync()

Asynchronicznie zapisuje wszystkie buforowane dane do bazowego strumienia i zwalnia niezarządzane zasoby używane przez StreamWriterprogram .

DisposeAsync()

Asynchronicznie zwalnia wszystkie zasoby używane przez TextWriter obiekt.

(Odziedziczone po TextWriter)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Zwalnia zasoby bieżącego StreamWriter przed odzyskaniem przez moduł odśmiecenia pamięci.

Flush()

Czyści wszystkie bufory dla bieżącego modułu zapisywania i powoduje zapisanie wszystkich buforowanych danych do bazowego strumienia.

FlushAsync()

Czyści wszystkie bufory dla tego strumienia asynchronicznie i powoduje zapisanie wszystkich buforowanych danych na urządzeniu bazowym.

FlushAsync()

Asynchronicznie czyści wszystkie bufory dla bieżącego modułu zapisywania i powoduje zapisanie wszystkich buforowanych danych na urządzeniu bazowym.

(Odziedziczone po TextWriter)
FlushAsync(CancellationToken)

Czyści wszystkie bufory dla tego strumienia asynchronicznie i powoduje zapisanie wszystkich buforowanych danych na urządzeniu bazowym.

FlushAsync(CancellationToken)

Asynchronicznie czyści wszystkie bufory dla bieżącego modułu zapisywania i powoduje zapisanie wszystkich buforowanych danych na urządzeniu bazowym.

(Odziedziczone po TextWriter)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia, aby kontrolować zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
Write(Boolean)

Zapisuje tekstową reprezentację Boolean wartości w strumieniu tekstowym.

(Odziedziczone po TextWriter)
Write(Char)

Zapisuje znak do strumienia.

Write(Char[])

Zapisuje tablicę znaków do strumienia.

Write(Char[], Int32, Int32)

Zapisuje podarraj znaków do strumienia.

Write(Decimal)

Zapisuje tekstową reprezentację wartości dziesiętnej w strumieniu tekstowym.

(Odziedziczone po TextWriter)
Write(Double)

Zapisuje tekstową reprezentację wartości zmiennoprzecinkowej 8 bajtów na strumień tekstowy.

(Odziedziczone po TextWriter)
Write(Int32)

Zapisuje reprezentację tekstową 4-bajtowej liczby całkowitej ze znakiem do strumienia tekstu.

(Odziedziczone po TextWriter)
Write(Int64)

Zapisuje tekstową reprezentację 8-bajtowej liczby całkowitej ze znakiem do strumienia tekstu.

(Odziedziczone po TextWriter)
Write(Object)

Zapisuje reprezentację tekstu obiektu w strumieniu tekstowym przez wywołanie ToString metody na tym obiekcie.

(Odziedziczone po TextWriter)
Write(ReadOnlySpan<Char>)

Zapisuje zakres znaków do strumienia.

Write(ReadOnlySpan<Char>)

Zapisuje zakres znaków do strumienia tekstu.

(Odziedziczone po TextWriter)
Write(Single)

Zapisuje tekstową reprezentację wartości zmiennoprzecinkowej 4-bajtowej na strumień tekstowy.

(Odziedziczone po TextWriter)
Write(String)

Zapisuje ciąg w strumieniu.

Write(String, Object)

Zapisuje sformatowany ciąg do strumienia przy użyciu tych samych semantyki co Format(String, Object) metoda.

Write(String, Object)

Zapisuje sformatowany ciąg do strumienia tekstu przy użyciu tych samych semantyki co Format(String, Object) metoda.

(Odziedziczone po TextWriter)
Write(String, Object, Object)

Zapisuje sformatowany ciąg do strumienia przy użyciu tych samych semantyki co Format(String, Object, Object) metoda.

Write(String, Object, Object)

Zapisuje sformatowany ciąg do strumienia tekstu przy użyciu tych samych semantyki co Format(String, Object, Object) metoda.

(Odziedziczone po TextWriter)
Write(String, Object, Object, Object)

Zapisuje sformatowany ciąg do strumienia przy użyciu tych samych semantyki co Format(String, Object, Object, Object) metoda.

Write(String, Object, Object, Object)

Zapisuje sformatowany ciąg do strumienia tekstu przy użyciu tych samych semantyki co Format(String, Object, Object, Object) metoda.

(Odziedziczone po TextWriter)
Write(String, Object[])

Zapisuje sformatowany ciąg do strumienia przy użyciu tych samych semantyki co Format(String, Object[]) metoda.

Write(String, Object[])

Zapisuje sformatowany ciąg do strumienia tekstu przy użyciu tych samych semantyki co Format(String, Object[]) metoda.

(Odziedziczone po TextWriter)
Write(StringBuilder)

Zapisuje konstruktora ciągów do strumienia tekstu.

(Odziedziczone po TextWriter)
Write(UInt32)

Zapisuje reprezentację tekstową 4-bajtowej liczby całkowitej bez znaku do strumienia tekstu.

(Odziedziczone po TextWriter)
Write(UInt64)

Zapisuje reprezentację tekstową 8-bajtowej liczby całkowitej bez znaku do strumienia tekstu.

(Odziedziczone po TextWriter)
WriteAsync(Char)

Asynchronicznie zapisuje znak w strumieniu.

WriteAsync(Char)

Zapisuje znak do strumienia tekstu asynchronicznie.

(Odziedziczone po TextWriter)
WriteAsync(Char[])

Zapisuje tablicę znaków w strumieniu tekstowym asynchronicznie.

(Odziedziczone po TextWriter)
WriteAsync(Char[], Int32, Int32)

Asynchronicznie zapisuje podarraj znaków do strumienia.

WriteAsync(Char[], Int32, Int32)

Zapisuje podarraj znaków do strumienia tekstu asynchronicznie.

(Odziedziczone po TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchronicznie zapisuje region pamięci znaków do strumienia.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchronicznie zapisuje region pamięci znaków w strumieniu tekstowym.

(Odziedziczone po TextWriter)
WriteAsync(String)

Asynchronicznie zapisuje ciąg w strumieniu.

WriteAsync(String)

Zapisuje ciąg w strumieniu tekstowym asynchronicznie.

(Odziedziczone po TextWriter)
WriteAsync(StringBuilder, CancellationToken)

Asynchronicznie zapisuje konstruktora ciągów do strumienia tekstu.

(Odziedziczone po TextWriter)
WriteLine()

Zapisuje terminator wiersza do strumienia tekstu.

(Odziedziczone po TextWriter)
WriteLine(Boolean)

Zapisuje tekstową reprezentację Boolean wartości w strumieniu tekstowym, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(Char)

Zapisuje znak do strumienia tekstu, po którym następuje terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(Char[])

Zapisuje tablicę znaków do strumienia tekstu, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(Char[], Int32, Int32)

Zapisuje podarraj znaków do strumienia tekstu, po którym następuje terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(Decimal)

Zapisuje tekstową reprezentację wartości dziesiętnej do strumienia tekstowego, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(Double)

Zapisuje tekstową reprezentację wartości zmiennoprzecinkowej 8 bajtów na strumień tekstowy, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(Int32)

Zapisuje reprezentację tekstową 4-bajtowej liczby całkowitej ze znakiem do strumienia tekstowego, po której następuje terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(Int64)

Zapisuje tekstową reprezentację liczby całkowitej ze znakiem 8 bajtów do strumienia tekstu, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(Object)

Zapisuje reprezentację tekstu obiektu w strumieniu tekstowym, wywołując ToString metodę na tym obiekcie, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(ReadOnlySpan<Char>)

Zapisuje tekstową reprezentację zakresu znaków w strumieniu, a następnie terminator wiersza.

WriteLine(ReadOnlySpan<Char>)

Zapisuje tekstową reprezentację zakresu znaków w strumieniu tekstowym, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(Single)

Zapisuje tekstową reprezentację wartości zmiennoprzecinkowej 4-bajtowej do strumienia tekstowego, po której następuje terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(String)

Zapisuje ciąg do strumienia, po którym następuje terminator wiersza.

WriteLine(String)

Zapisuje ciąg do strumienia tekstu, po którym następuje terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(String, Object)

Zapisuje sformatowany ciąg i nowy wiersz do strumienia przy użyciu tych samych semantyki co Format(String, Object) metoda.

WriteLine(String, Object)

Zapisuje sformatowany ciąg i nowy wiersz do strumienia tekstu przy użyciu tych samych semantyki co Format(String, Object) metoda.

(Odziedziczone po TextWriter)
WriteLine(String, Object, Object)

Zapisuje sformatowany ciąg i nowy wiersz do strumienia przy użyciu tych samych semantyki co Format(String, Object, Object) metoda.

WriteLine(String, Object, Object)

Zapisuje sformatowany ciąg i nowy wiersz do strumienia tekstu przy użyciu tych samych semantyki co Format(String, Object, Object) metoda.

(Odziedziczone po TextWriter)
WriteLine(String, Object, Object, Object)

Zapisuje sformatowany ciąg i nowy wiersz do strumienia przy użyciu tych samych semantyki co Format(String, Object).

WriteLine(String, Object, Object, Object)

Zapisuje sformatowany ciąg i nowy wiersz do strumienia tekstu przy użyciu tych samych semantyki co Format(String, Object).

(Odziedziczone po TextWriter)
WriteLine(String, Object[])

Zapisuje sformatowany ciąg i nowy wiersz do strumienia przy użyciu tych samych semantyki co Format(String, Object).

WriteLine(String, Object[])

Zapisuje sformatowany ciąg i nowy wiersz do strumienia tekstu przy użyciu tych samych semantyki co Format(String, Object).

(Odziedziczone po TextWriter)
WriteLine(StringBuilder)

Zapisuje tekstową reprezentację konstruktora ciągów w strumieniu tekstowym, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(UInt32)

Zapisuje reprezentację tekstową 4-bajtowej liczby całkowitej bez znaku do strumienia tekstowego, po której następuje terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(UInt64)

Zapisuje reprezentację tekstową 8-bajtowej liczby całkowitej bez znaku do strumienia tekstu, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLineAsync()

Asynchronicznie zapisuje terminator wiersza do strumienia.

WriteLineAsync()

Asynchronicznie zapisuje terminator wiersza do strumienia tekstu.

(Odziedziczone po TextWriter)
WriteLineAsync(Char)

Asynchronicznie zapisuje znak do strumienia, a następnie terminator wiersza.

WriteLineAsync(Char)

Asynchronicznie zapisuje znak do strumienia tekstu, po którym następuje terminator wiersza.

(Odziedziczone po TextWriter)
WriteLineAsync(Char[])

Asynchronicznie zapisuje tablicę znaków do strumienia tekstu, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLineAsync(Char[], Int32, Int32)

Asynchronicznie zapisuje podarraj znaków do strumienia, a następnie terminator wiersza.

WriteLineAsync(Char[], Int32, Int32)

Asynchronicznie zapisuje podarraj znaków do strumienia tekstu, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchronicznie zapisuje tekstową reprezentację regionu pamięci znaków w strumieniu, a następnie terminator wiersza.

WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Asynchronicznie zapisuje tekstową reprezentację regionu pamięci znaków w strumieniu tekstowym, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLineAsync(String)

Asynchronicznie zapisuje ciąg w strumieniu, po którym następuje terminator wiersza.

WriteLineAsync(String)

Asynchronicznie zapisuje ciąg w strumieniu tekstowym, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLineAsync(StringBuilder, CancellationToken)

Asynchronicznie zapisuje tekstową reprezentację konstruktora ciągów w strumieniu tekstowym, a następnie terminator wiersza.

(Odziedziczone po TextWriter)

Jawne implementacje interfejsu

IDisposable.Dispose()

Aby uzyskać opis tego elementu członkowskiego, zobacz Dispose().

(Odziedziczone po TextWriter)

Metody rozszerzania

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje sposób oczekiwania na zadania zwracane z asynchronicznego jednorazowego wykonania.

Dotyczy

Zobacz też