StreamWriter Kelas

Definisi

TextWriter Mengimplementasikan untuk menulis karakter ke aliran dalam pengodean tertentu.

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
Warisan
StreamWriter
Warisan
Atribut

Contoh

Contoh berikut menunjukkan cara menggunakan StreamWriter objek untuk menulis file yang mencantumkan direktori pada drive C, lalu menggunakan StreamReader objek untuk membaca dan menampilkan setiap nama direktori. Praktik yang baik adalah menggunakan objek ini dalam using pernyataan sehingga sumber daya yang tidak dikelola dibuang dengan benar. Pernyataan using secara otomatis memanggil Dispose objek ketika kode yang menggunakannya telah selesai. Konstruktor yang digunakan dalam contoh ini tidak didukung untuk digunakan di Aplikasi Bursa 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

Keterangan

StreamWriter dirancang untuk output karakter dalam pengodean tertentu, sedangkan kelas yang berasal dari Stream dirancang untuk input dan output byte.

Penting

Jenis ini mengimplementasikan IDisposable antarmuka. Ketika Anda telah selesai menggunakan jenis , Anda harus membuangnya baik secara langsung atau tidak langsung. Untuk membuang jenis secara langsung, panggil metodenya Dispose dalam try/catch blok. Untuk membuangnya secara tidak langsung, gunakan konstruksi bahasa seperti using (di C#) atau Using (di Visual Basic). Untuk informasi selengkapnya, lihat bagian "Menggunakan Objek yang Mengimplementasikan IDisposable" di IDisposable topik antarmuka.

StreamWriter default untuk menggunakan instans UTF8Encoding kecuali ditentukan sebaliknya. Instans UTF8Encoding ini dibangun tanpa tanda urutan byte (BOM), sehingga metodenya GetPreamble mengembalikan array byte kosong. Pengodean UTF-8 default untuk konstruktor ini memberikan pengecualian pada byte yang tidak valid. Perilaku ini berbeda dari perilaku yang disediakan oleh objek pengodean di Encoding.UTF8 properti . Untuk menentukan BOM dan menentukan apakah pengecualian dilemparkan pada byte yang tidak valid, gunakan konstruktor yang menerima objek pengodean sebagai parameter, seperti StreamWriter(String, Boolean, Encoding) atau StreamWriter.

Secara default, StreamWriter bukan utas yang aman. Lihat TextWriter.Synchronized untuk pembungkus aman utas.

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Konstruktor

StreamWriter(Stream)

Menginisialisasi instans StreamWriter baru kelas untuk aliran yang ditentukan dengan menggunakan pengodean UTF-8 dan ukuran buffer default.

StreamWriter(Stream, Encoding)

Menginisialisasi instans StreamWriter baru kelas untuk aliran yang ditentukan dengan menggunakan pengodean yang ditentukan dan ukuran buffer default.

StreamWriter(Stream, Encoding, Int32)

Menginisialisasi instans StreamWriter baru kelas untuk aliran yang ditentukan dengan menggunakan pengodean dan ukuran buffer yang ditentukan.

StreamWriter(Stream, Encoding, Int32, Boolean)

Menginisialisasi instans StreamWriter baru kelas untuk aliran yang ditentukan dengan menggunakan ukuran pengodean dan buffer yang ditentukan, dan secara opsional membiarkan aliran terbuka.

StreamWriter(String)

Menginisialisasi instans StreamWriter baru kelas untuk file yang ditentukan dengan menggunakan pengodean default dan ukuran buffer.

StreamWriter(String, Boolean)

Menginisialisasi instans StreamWriter baru kelas untuk file yang ditentukan dengan menggunakan pengodean default dan ukuran buffer. Jika ada, file dapat ditimpa atau ditambahkan. Jika file tidak ada, konstruktor ini membuat file baru.

StreamWriter(String, Boolean, Encoding)

Menginisialisasi instans StreamWriter baru kelas untuk file yang ditentukan dengan menggunakan pengodean yang ditentukan dan ukuran buffer default. Jika ada, file dapat ditimpa atau ditambahkan. Jika file tidak ada, konstruktor ini membuat file baru.

StreamWriter(String, Boolean, Encoding, Int32)

Menginisialisasi instans StreamWriter baru kelas untuk file yang ditentukan pada jalur yang ditentukan, menggunakan pengodean dan ukuran buffer yang ditentukan. Jika ada, file dapat ditimpa atau ditambahkan. Jika file tidak ada, konstruktor ini membuat file baru.

StreamWriter(String, Encoding, FileStreamOptions)

Menginisialisasi instans StreamWriter baru kelas untuk file yang ditentukan, menggunakan pengodean yang ditentukan, dan dikonfigurasi dengan objek yang ditentukan FileStreamOptions .

StreamWriter(String, FileStreamOptions)

Menginisialisasi instans StreamWriter baru kelas untuk file yang ditentukan, menggunakan pengodean default, dan dikonfigurasi dengan objek yang ditentukan FileStreamOptions .

Bidang

CoreNewLine

Menyimpan karakter baris baru yang digunakan untuk ini TextWriter.

(Diperoleh dari TextWriter)
Null

StreamWriter Menyediakan penyimpanan tanpa dukungan yang dapat ditulis, tetapi tidak dapat dibaca.

Properti

AutoFlush

Mendapatkan atau menetapkan nilai yang menunjukkan apakah StreamWriter akan menghapus buffernya ke aliran yang mendasar setelah setiap panggilan ke Write(Char).

BaseStream

Mendapatkan aliran yang mendasar yang berinteraksi dengan penyimpanan dukungan.

Encoding

Mendapatkan tempat Encoding output ditulis.

FormatProvider

Mendapatkan objek yang mengontrol pemformatan.

(Diperoleh dari TextWriter)
NewLine

Mendapatkan atau mengatur string terminator baris yang digunakan oleh saat ini TextWriter.

(Diperoleh dari TextWriter)

Metode

Close()

Menutup objek saat ini StreamWriter dan aliran yang mendasar.

Close()

Menutup penulis saat ini dan merilis sumber daya sistem apa pun yang terkait dengan penulis.

(Diperoleh dari TextWriter)
CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
Dispose()

Merilis semua sumber daya yang TextWriter digunakan oleh objek .

(Diperoleh dari TextWriter)
Dispose(Boolean)

Menyebabkan data yang di-buffer ditulis ke aliran yang mendasar, merilis sumber daya yang tidak dikelola yang digunakan oleh StreamWriter, dan secara opsional sumber daya terkelola.

DisposeAsync()

Secara asinkron menulis data yang di-buffer ke aliran yang mendasar dan merilis sumber daya yang tidak dikelola yang digunakan oleh StreamWriter.

DisposeAsync()

Secara asinkron merilis semua sumber daya yang TextWriter digunakan oleh objek .

(Diperoleh dari TextWriter)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Finalize()

Membebaskan sumber daya saat ini StreamWriter sebelum direklamasi kembali oleh pengumpul sampah.

Flush()

Menghapus semua buffer untuk penulis saat ini dan menyebabkan data yang di-buffer ditulis ke aliran yang mendasar.

FlushAsync()

Menghapus semua buffer untuk aliran ini secara asinkron dan menyebabkan data yang di-buffer ditulis ke perangkat yang mendasar.

FlushAsync()

Secara asinkron menghapus semua buffer untuk penulis saat ini dan menyebabkan data yang di-buffer ditulis ke perangkat yang mendasar.

(Diperoleh dari TextWriter)
FlushAsync(CancellationToken)

Menghapus semua buffer untuk aliran ini secara asinkron dan menyebabkan data yang di-buffer ditulis ke perangkat yang mendasar.

FlushAsync(CancellationToken)

Secara asinkron menghapus semua buffer untuk penulis saat ini dan menyebabkan data yang di-buffer ditulis ke perangkat yang mendasar.

(Diperoleh dari TextWriter)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
Write(Boolean)

Menulis representasi teks dari Boolean nilai ke aliran teks.

(Diperoleh dari TextWriter)
Write(Char)

Menulis karakter ke aliran.

Write(Char[])

Menulis array karakter ke aliran.

Write(Char[], Int32, Int32)

Menulis subarray karakter ke aliran.

Write(Decimal)

Menulis representasi teks dari nilai desimal ke aliran teks.

(Diperoleh dari TextWriter)
Write(Double)

Menulis representasi teks dari nilai floating-point 8-byte ke aliran teks.

(Diperoleh dari TextWriter)
Write(Int32)

Menulis representasi teks dari bilangan bulat bertanda 4 byte ke aliran teks.

(Diperoleh dari TextWriter)
Write(Int64)

Menulis representasi teks dari bilangan bulat bertanda tangan 8-byte ke aliran teks.

(Diperoleh dari TextWriter)
Write(Object)

Menulis representasi teks objek ke aliran teks dengan memanggil metode pada objek tersebut ToString .

(Diperoleh dari TextWriter)
Write(ReadOnlySpan<Char>)

Menulis rentang karakter ke aliran.

Write(ReadOnlySpan<Char>)

Menulis rentang karakter ke aliran teks.

(Diperoleh dari TextWriter)
Write(Single)

Menulis representasi teks dari nilai floating-point 4-byte ke aliran teks.

(Diperoleh dari TextWriter)
Write(String)

Menulis string ke aliran.

Write(String, Object)

Menulis string yang diformat ke aliran, menggunakan semantik yang sama dengan Format(String, Object) metode .

Write(String, Object)

Menulis string yang diformat ke aliran teks, menggunakan semantik yang sama dengan Format(String, Object) metode .

(Diperoleh dari TextWriter)
Write(String, Object, Object)

Menulis string yang diformat ke aliran menggunakan semantik yang sama dengan Format(String, Object, Object) metode .

Write(String, Object, Object)

Menulis string yang diformat ke aliran teks menggunakan semantik yang sama dengan Format(String, Object, Object) metode .

(Diperoleh dari TextWriter)
Write(String, Object, Object, Object)

Menulis string yang diformat ke aliran, menggunakan semantik yang sama dengan Format(String, Object, Object, Object) metode .

Write(String, Object, Object, Object)

Menulis string yang diformat ke aliran teks, menggunakan semantik yang sama dengan Format(String, Object, Object, Object) metode .

(Diperoleh dari TextWriter)
Write(String, Object[])

Menulis string yang diformat ke aliran, menggunakan semantik yang sama dengan Format(String, Object[]) metode .

Write(String, Object[])

Menulis string yang diformat ke aliran teks, menggunakan semantik yang sama dengan Format(String, Object[]) metode .

(Diperoleh dari TextWriter)
Write(StringBuilder)

Menulis pembangun string ke aliran teks.

(Diperoleh dari TextWriter)
Write(UInt32)

Menulis representasi teks dari bilangan bulat yang tidak ditandatangani 4-byte ke aliran teks.

(Diperoleh dari TextWriter)
Write(UInt64)

Menulis representasi teks dari bilangan bulat yang tidak ditandatangani 8-byte ke aliran teks.

(Diperoleh dari TextWriter)
WriteAsync(Char)

Secara asinkron menulis karakter ke aliran.

WriteAsync(Char)

Menulis karakter ke aliran teks secara asinkron.

(Diperoleh dari TextWriter)
WriteAsync(Char[])

Menulis array karakter ke aliran teks secara asinkron.

(Diperoleh dari TextWriter)
WriteAsync(Char[], Int32, Int32)

Secara asinkron menulis subarray karakter ke aliran.

WriteAsync(Char[], Int32, Int32)

Menulis subarray karakter ke aliran teks secara asinkron.

(Diperoleh dari TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Secara asinkron menulis wilayah memori karakter ke aliran.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Secara asinkron menulis wilayah memori karakter ke aliran teks.

(Diperoleh dari TextWriter)
WriteAsync(String)

Secara asinkron menulis string ke aliran.

WriteAsync(String)

Menulis string ke aliran teks secara asinkron.

(Diperoleh dari TextWriter)
WriteAsync(StringBuilder, CancellationToken)

Secara asinkron menulis pembangun string ke aliran teks.

(Diperoleh dari TextWriter)
WriteLine()

Menulis terminator baris ke aliran teks.

(Diperoleh dari TextWriter)
WriteLine(Boolean)

Menulis representasi Boolean teks dari nilai ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(Char)

Menulis karakter ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(Char[])

Menulis array karakter ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(Char[], Int32, Int32)

Menulis subarray karakter ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(Decimal)

Menulis representasi teks dari nilai desimal ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(Double)

Menulis representasi teks dari nilai floating-point 8-byte ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(Int32)

Menulis representasi teks bilangan bulat bertanda 4 byte ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(Int64)

Menulis representasi teks bilangan bulat bertanda 8 byte ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(Object)

Menulis representasi teks objek ke aliran teks, dengan memanggil metode pada objek tersebut ToString , diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(ReadOnlySpan<Char>)

Menulis representasi teks dari rentang karakter ke aliran, diikuti dengan terminator baris.

WriteLine(ReadOnlySpan<Char>)

Menulis representasi teks dari rentang karakter ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(Single)

Menulis representasi teks dari nilai floating-point 4-byte ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(String)

Menulis string ke aliran, diikuti dengan terminator baris.

WriteLine(String)

Menulis string ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(String, Object)

Menulis string yang diformat dan baris baru ke aliran, menggunakan semantik yang sama dengan Format(String, Object) metode .

WriteLine(String, Object)

Menulis string yang diformat dan baris baru ke aliran teks, menggunakan semantik yang sama dengan Format(String, Object) metode .

(Diperoleh dari TextWriter)
WriteLine(String, Object, Object)

Menulis string yang diformat dan baris baru ke aliran, menggunakan semantik yang sama dengan Format(String, Object, Object) metode .

WriteLine(String, Object, Object)

Menulis string yang diformat dan baris baru ke aliran teks, menggunakan semantik yang sama dengan Format(String, Object, Object) metode .

(Diperoleh dari TextWriter)
WriteLine(String, Object, Object, Object)

Menulis string yang diformat dan baris baru ke aliran, menggunakan semantik yang sama dengan Format(String, Object).

WriteLine(String, Object, Object, Object)

Menulis string yang diformat dan baris baru ke aliran teks, menggunakan semantik yang sama dengan Format(String, Object).

(Diperoleh dari TextWriter)
WriteLine(String, Object[])

Menulis string yang diformat dan baris baru ke aliran, menggunakan semantik yang sama dengan Format(String, Object).

WriteLine(String, Object[])

Menulis string yang diformat dan baris baru ke aliran teks, menggunakan semantik yang sama dengan Format(String, Object).

(Diperoleh dari TextWriter)
WriteLine(StringBuilder)

Menulis representasi teks penyusun string ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(UInt32)

Menulis representasi teks dari bilangan bulat yang tidak ditandatangani 4 byte ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLine(UInt64)

Menulis representasi teks dari bilangan bulat yang tidak ditandatangani 8-byte ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLineAsync()

Secara asinkron menulis terminator baris ke aliran.

WriteLineAsync()

Secara asinkron menulis terminator baris ke aliran teks.

(Diperoleh dari TextWriter)
WriteLineAsync(Char)

Secara asinkron menulis karakter ke aliran, diikuti dengan terminator baris.

WriteLineAsync(Char)

Secara asinkron menulis karakter ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLineAsync(Char[])

Secara asinkron menulis array karakter ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLineAsync(Char[], Int32, Int32)

Secara asinkron menulis subarray karakter ke aliran, diikuti dengan terminator baris.

WriteLineAsync(Char[], Int32, Int32)

Secara asinkron menulis subarray karakter ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Secara asinkron menulis representasi teks dari wilayah memori karakter ke aliran, diikuti dengan terminator baris.

WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Secara asinkron menulis representasi teks dari wilayah memori karakter ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLineAsync(String)

Secara asinkron menulis string ke aliran, diikuti oleh terminator baris.

WriteLineAsync(String)

Secara asinkron menulis string ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
WriteLineAsync(StringBuilder, CancellationToken)

Secara asinkron menulis representasi teks penyusun string ke aliran teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()

Untuk deskripsi anggota ini, lihat Dispose().

(Diperoleh dari TextWriter)

Metode Ekstensi

ConfigureAwait(IAsyncDisposable, Boolean)

Mengonfigurasi bagaimana menunggu tugas yang dikembalikan dari asinkron sekali pakai dilakukan.

Berlaku untuk

Lihat juga