StreamWriter Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- Dziedziczenie
- Atrybuty
Przykłady
W poniższym przykładzie pokazano, jak użyć StreamWriter obiektu do zapisania pliku, który wyświetla 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 zostały prawidłowo usunięte. Instrukcja using automatycznie wywołuje Dispose obiekt 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 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
Uwagi
StreamWriter jest przeznaczony dla danych wyjściowych znaków w określonym kodowaniu, natomiast klasy pochodzące z Stream klasy są przeznaczone dla bajtowych danych wejściowych i wyjściowych.
Ważne
Ten typ implementuje IDisposable interfejs. Po zakończeniu korzystania z typu należy usunąć go bezpośrednio lub pośrednio. Aby bezpośrednio usunąć typ, wywołaj jego Dispose metodę try/catch w bloku. Aby usunąć go pośrednio, należy użyć 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 interfejs IDisposable) w temacie interfejsu IDisposable .
StreamWriter domyślnie używa wystąpienia , UTF8Encoding chyba że określono inaczej. To wystąpienie UTF8Encoding klasy 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 w nieprawidłowych bajtach. To zachowanie różni się od zachowania zapewnianego przez obiekt kodowania we Encoding.UTF8 właściwości . 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 element 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 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 nowe wystąpienie klasy dla określonego StreamWriter strumienia przy użyciu określonego rozmiaru kodowania i buforu, a opcjonalnie pozostawia strumień otwarty. |
| 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. 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. Jeśli plik nie istnieje, ten konstruktor tworzy nowy plik. |
| StreamWriter(String, Boolean, Encoding, Int32) |
Inicjuje nowe wystąpienie klasy dla określonego StreamWriter 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. Jeśli plik nie istnieje, ten konstruktor tworzy nowy plik. |
| StreamWriter(String, Encoding, FileStreamOptions) |
Inicjuje nowe wystąpienie klasy dla określonego StreamWriter pliku przy użyciu określonego kodowania i skonfigurowane z określonym FileStreamOptions obiektem. |
| StreamWriter(String, FileStreamOptions) |
Inicjuje nowe wystąpienie klasy dla określonego StreamWriter pliku, używając domyślnego kodowania i skonfigurowane z określonym FileStreamOptions obiektem. |
Pola
| CoreNewLine |
Przechowuje znaki nowego wiersza używane dla tego |
| Null |
Zapewnia magazyn |
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 |
Metody
| Close() |
Zamyka bieżący |
| 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 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 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() |
Nieaktualne.
Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
| GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
| InitializeLifetimeService() |
Nieaktualne.
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 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ę |
| 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 reprezentację tekstową wartości dziesiętnej w strumieniu tekstowym. (Odziedziczone po TextWriter) |
| Write(Double) |
Zapisuje tekstową reprezentację 8-bajtowej wartości zmiennoprzecinkowej do strumienia tekstu. (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 |
| 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ę |
| 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ę tekstową obiektu w strumieniu tekstowym, wywołując |
| WriteLine(ReadOnlySpan<Char>) |
Zapisuje tekstową reprezentację zakresu znaków w strumieniu, a następnie terminator wiersza. |
| WriteLine(ReadOnlySpan<Char>) |
Zapisuje reprezentację tekstu zakresu znaków w strumieniu tekstowym, po którym następuje terminator wiersza. (Odziedziczone po TextWriter) |
| WriteLine(Single) |
Zapisuje reprezentację tekstową 4-bajtowej wartości zmiennoprzecinkowej do strumienia tekstowego, a następnie terminator linii. (Odziedziczone po TextWriter) |
| WriteLine(String) |
Zapisuje ciąg do strumienia, 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 tych samych semantyki co Format(String, Object) metoda. |
| WriteLine(String, Object) |
Zapisuje sformatowany ciąg i nowy wiersz do strumienia tekstu przy użyciu tej samej 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, po którym następuje terminator wiersza. (Odziedziczone po TextWriter) |
| WriteLine(UInt32) |
Zapisuje reprezentację tekstową 4-bajtowej liczby całkowitej bez znaku do strumienia tekstu, a następnie 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 członka, zobacz Dispose(). (Odziedziczone po TextWriter) |
Metody rozszerzania
| ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguruje sposób oczekiwania na zadania zwracane z jednorazowego użytku asynchronicznego. |