Udostępnij za pośrednictwem


StreamWriter Klasa

Definicja

Implementuje TextWriter do pisania 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ć obiektu StreamWriter do zapisania pliku, który wyświetla listę katalogów na dysku C, a następnie używa obiektu StreamReader do odczytywania i wyświetlania każdej nazwy katalogu. Dobrym rozwiązaniem jest użycie tych obiektów w instrukcji using, aby niezarządzane zasoby były prawidłowo usuwane. Instrukcja using automatycznie wywołuje Dispose na obiekcie po zakończeniu kodu, który go używa. 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 dla danych wyjściowych znaków w określonym kodowaniu, natomiast klasy pochodzące z Stream są przeznaczone dla bajtowych danych wejściowych i wyjściowych.

Ważny

Ten typ implementuje interfejs IDisposable. Po zakończeniu korzystania z typu należy usunąć go bezpośrednio lub pośrednio. Aby usunąć typ bezpośrednio, wywołaj metodę Dispose w bloku try/catch. Aby usunąć go pośrednio, należy użyć konstrukcji języka, 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 interfejs IDisposable) w temacie interfejsu IDisposable.

StreamWriter domyślne używanie wystąpienia UTF8Encoding, chyba że określono inaczej. To wystąpienie UTF8Encoding jest konstruowane bez znaku kolejności bajtów (BOM), więc jej metoda GetPreamble zwraca pustą tablicę bajtów. Domyślne kodowanie UTF-8 dla tego konstruktora zgłasza wyjątek w nieprawidłowych bajtach. To zachowanie różni się od zachowania udostępnianego przez obiekt kodowania we właściwości Encoding.UTF8. Aby określić model 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 nie jest bezpieczny wątkiem. Zobacz TextWriter.Synchronized, aby zapoznać się z otoką bezpieczną wątkowo.

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

Konstruktory

StreamWriter(Stream)

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

StreamWriter(Stream, Encoding)

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

StreamWriter(Stream, Encoding, Int32)

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

StreamWriter(Stream, Encoding, Int32, Boolean)

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

StreamWriter(String)

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

StreamWriter(String, Boolean)

Inicjuje nowe wystąpienie klasy StreamWriter 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. Jeśli plik nie istnieje, ten konstruktor tworzy nowy plik.

StreamWriter(String, Boolean, Encoding)

Inicjuje nowe wystąpienie klasy StreamWriter 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. Jeśli plik nie istnieje, ten konstruktor tworzy nowy plik.

StreamWriter(String, Boolean, Encoding, Int32)

Inicjuje nowe wystąpienie klasy StreamWriter dla określonego pliku na 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. Jeśli plik nie istnieje, ten konstruktor tworzy nowy plik.

StreamWriter(String, Encoding, FileStreamOptions)

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

StreamWriter(String, FileStreamOptions)

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

Pola

CoreNewLine

Przechowuje znaki nowego wiersza używane w tym TextWriter.

(Odziedziczone po TextWriter)
Null

Udostępnia StreamWriter bez magazynu zapasowego, do którego można zapisywać dane, ale nie odczytuje z.

Właściwości

AutoFlush

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

BaseStream

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

Encoding

Pobiera Encoding, w którym 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 TextWriter.

(Odziedziczone po TextWriter)

Metody

Close()

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

Close()

Zamyka bieżący moduł 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 obiekt TextWriter.

(Odziedziczone po TextWriter)
Dispose(Boolean)

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

DisposeAsync()

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

DisposeAsync()

Asynchronicznie zwalnia wszystkie zasoby używane przez obiekt TextWriter.

(Odziedziczone po TextWriter)
Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
Finalize()

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

Flush()

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

FlushAsync()

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

FlushAsync()

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

(Odziedziczone po TextWriter)
FlushAsync(CancellationToken)

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

FlushAsync(CancellationToken)

Asynchronicznie czyści wszystkie dla bieżącego składnika 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()

Pobiera Type bieżącego wystąpienia.

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

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

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

(Odziedziczone po Object)
MemberwiseClone(Boolean)

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

(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 w strumieniu.

Write(Char[])

Zapisuje tablicę znaków w strumieniu.

Write(Char[], Int32, Int32)

Zapisuje podarraj znaków w strumieniu.

Write(Decimal)

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

(Odziedziczone po TextWriter)
Write(Double)

Zapisuje tekstową reprezentację 8-bajtowej wartości zmiennoprzecinkowej do strumienia tekstowego.

(Odziedziczone po TextWriter)
Write(Int32)

Zapisuje reprezentację tekstu z 4-bajtową liczbą całkowitą ze znakiem do strumienia tekstowego.

(Odziedziczone po TextWriter)
Write(Int64)

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

(Odziedziczone po TextWriter)
Write(Object)

Zapisuje tekstową reprezentację obiektu w strumieniu tekstowym, wywołując metodę ToString dla tego obiektu.

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

Zapisuje zakres znaków w strumieniu.

Write(ReadOnlySpan<Char>)

Zapisuje zakres znaków w strumieniu tekstowym.

(Odziedziczone po TextWriter)
Write(Single)

Zapisuje reprezentację tekstu 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 w strumieniu przy użyciu tej samej semantyki co metoda Format(String, Object).

Write(String, Object)

Zapisuje sformatowany ciąg w strumieniu tekstowym przy użyciu tej samej semantyki co metoda Format(String, Object).

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

Zapisuje sformatowany ciąg w strumieniu przy użyciu tej samej semantyki co metoda Format(String, Object, Object).

Write(String, Object, Object)

Zapisuje sformatowany ciąg w strumieniu tekstowym przy użyciu tej samej semantyki co metoda Format(String, Object, Object).

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

Zapisuje sformatowany ciąg w strumieniu przy użyciu tej samej semantyki co metoda Format(String, Object, Object, Object).

Write(String, Object, Object, Object)

Zapisuje sformatowany ciąg w strumieniu tekstowym przy użyciu tej samej semantyki co metoda Format(String, Object, Object, Object).

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

Zapisuje sformatowany ciąg w strumieniu przy użyciu tej samej semantyki co metoda Format(String, Object[]).

Write(String, Object[])

Zapisuje sformatowany ciąg w strumieniu tekstowym przy użyciu tej samej semantyki co metoda Format(String, Object[]).

(Odziedziczone po TextWriter)
Write(String, ReadOnlySpan<Object>)

Zapisuje sformatowany ciąg w strumieniu przy użyciu tej samej semantyki co Format(String, ReadOnlySpan<Object>).

Write(String, ReadOnlySpan<Object>)

Zapisuje sformatowany ciąg w strumieniu tekstowym przy użyciu tej samej semantyki co Format(String, ReadOnlySpan<Object>).

(Odziedziczone po TextWriter)
Write(StringBuilder)

Zapisuje konstruktora ciągów w strumieniu tekstowym.

(Odziedziczone po TextWriter)
Write(UInt32)

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

(Odziedziczone po TextWriter)
Write(UInt64)

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

(Odziedziczone po TextWriter)
WriteAsync(Char)

Asynchronicznie zapisuje znak w strumieniu.

WriteAsync(Char)

Zapisuje znak w strumieniu 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 w strumieniu.

WriteAsync(Char[], Int32, Int32)

Zapisuje podarraj znaków w strumieniu tekstowym asynchronicznie.

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

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

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 w strumieniu tekstowym.

(Odziedziczone po TextWriter)
WriteLine()

Zapisuje terminator wiersza w strumieniu tekstowym.

(Odziedziczone po TextWriter)
WriteLine(Boolean)

Zapisuje tekstową reprezentację wartości Boolean 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 w strumieniu tekstowym, po której następuje terminator wiersza.

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

Zapisuje podarraj znaków do strumienia tekstowego, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(Decimal)

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

(Odziedziczone po TextWriter)
WriteLine(Double)

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

(Odziedziczone po TextWriter)
WriteLine(Int32)

Zapisuje tekstową reprezentację 4-bajtowej liczby całkowitej ze znakiem do strumienia tekstowego, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(Int64)

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

(Odziedziczone po TextWriter)
WriteLine(Object)

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

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

Zapisuje tekstową reprezentację zakresu znaków w strumieniu, po którym następuje terminator wiersza.

WriteLine(ReadOnlySpan<Char>)

Zapisuje tekstową reprezentację zakresu znaków w strumieniu tekstowym, po którym następuje terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(Single)

Zapisuje tekstową reprezentację wartości zmiennoprzecinkowej 4-bajtowej na strumień tekstowy, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(String)

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

WriteLine(String)

Zapisuje ciąg w strumieniu tekstowym, 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 tej samej semantyki co metoda Format(String, Object).

WriteLine(String, Object)

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

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

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

WriteLine(String, Object, Object)

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

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

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

WriteLine(String, Object, Object, Object)

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

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

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

WriteLine(String, Object[])

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

(Odziedziczone po TextWriter)
WriteLine(String, ReadOnlySpan<Object>)

Zapisuje sformatowany ciąg i nowy wiersz do strumienia przy użyciu tej samej semantyki co Format(String, ReadOnlySpan<Object>).

WriteLine(String, ReadOnlySpan<Object>)

Zapisuje sformatowany ciąg i nowy wiersz do strumienia tekstu przy użyciu tej samej semantyki co Format(String, ReadOnlySpan<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ę tekstu 4-bajtowej liczby całkowitej bez znaku do strumienia tekstowego, a następnie terminator wiersza.

(Odziedziczone po TextWriter)
WriteLine(UInt64)

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

(Odziedziczone po TextWriter)
WriteLineAsync()

Asynchronicznie zapisuje terminator wiersza w strumieniu.

WriteLineAsync()

Asynchronicznie zapisuje terminator wiersza w strumieniu tekstowym.

(Odziedziczone po TextWriter)
WriteLineAsync(Char)

Asynchronicznie zapisuje znak w strumieniu, po którym następuje terminator wiersza.

WriteLineAsync(Char)

Asynchronicznie zapisuje znak w strumieniu tekstowym, po którym następuje terminator wiersza.

(Odziedziczone po TextWriter)
WriteLineAsync(Char[])

Asynchronicznie zapisuje tablicę znaków w strumieniu tekstowym, a następnie terminator wiersza.

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

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

WriteLineAsync(Char[], Int32, Int32)

Asynchronicznie zapisuje podarraj znaków w strumieniu tekstowym, 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, po którym następuje 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, w jaki sposób będą wykonywane oczekiwania na zadania zwrócone z asynchronicznego jednorazowego użytku.

Dotyczy

Zobacz też