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 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 |
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 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ę |
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 |
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ę tekstu 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 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ż
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla