Bagikan melalui


StreamWriter Kelas

Definisi

Menerapkan TextWriter 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 objek StreamWriter untuk menulis file yang mencantumkan direktori pada drive C, lalu menggunakan objek StreamReader untuk membaca dan menampilkan setiap nama direktori. Praktik yang baik adalah menggunakan objek ini dalam pernyataan using sehingga sumber daya yang tidak dikelola dibuang dengan benar. Pernyataan using secara otomatis memanggil Dispose pada 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 antarmuka IDisposable. Setelah selesai menggunakan jenisnya, Anda harus membuangnya baik secara langsung maupun tidak langsung. Untuk membuang jenis secara langsung, panggil metode Dispose dalam blok try/catch. Untuk membuangnya secara tidak langsung, gunakan konstruksi bahasa seperti using (dalam C#) atau Using (di Visual Basic). Untuk informasi selengkapnya, lihat bagian "Menggunakan Objek yang Menerapkan IDisposable" di topik antarmuka IDisposable.

StreamWriter default untuk menggunakan instans UTF8Encoding kecuali ditentukan sebaliknya. Instans UTF8Encoding ini dibangun tanpa tanda urutan byte (BOM), sehingga metode GetPreamble mengembalikan array byte kosong. Pengodean UTF-8 default untuk konstruktor ini melemparkan pengecualian pada byte yang tidak valid. Perilaku ini berbeda dari perilaku yang disediakan oleh objek pengodean di properti Encoding.UTF8. 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 tidak aman utas. Lihat TextWriter.Synchronized untuk pembungkus aman utas.

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

Konstruktor

StreamWriter(Stream)

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

StreamWriter(Stream, Encoding)

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

StreamWriter(Stream, Encoding, Int32)

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

StreamWriter(Stream, Encoding, Int32, Boolean)

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

StreamWriter(String)

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

StreamWriter(String, Boolean)

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

StreamWriter(String, Boolean, Encoding)

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

StreamWriter(String, Boolean, Encoding, Int32)

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

StreamWriter(String, Encoding, FileStreamOptions)

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

StreamWriter(String, FileStreamOptions)

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

Bidang

CoreNewLine

Menyimpan karakter baris baru yang digunakan untuk TextWriterini.

(Diperoleh dari TextWriter)
Null

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

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 backing.

Encoding

Mendapatkan Encoding tempat output ditulis.

FormatProvider

Mendapatkan objek yang mengontrol pemformatan.

(Diperoleh dari TextWriter)
NewLine

Mendapatkan atau mengatur string terminator baris yang digunakan oleh TextWritersaat ini.

(Diperoleh dari TextWriter)

Metode

Close()

Menutup objek StreamWriter saat ini 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 digunakan oleh objek TextWriter.

(Diperoleh dari TextWriter)
Dispose(Boolean)

Menyebabkan data 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 digunakan oleh objek TextWriter.

(Diperoleh dari TextWriter)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Finalize()

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

Flush()

Menghapus semua buffer untuk penulis saat ini dan menyebabkan data 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 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 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 Type instans 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 Objectsaat ini.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek MarshalByRefObject saat ini.

(Diperoleh dari MarshalByRefObject)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
Write(Boolean)

Menulis representasi teks dari nilai Boolean 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 tangan 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 ToString pada objek tersebut.

(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 metode Format(String, Object).

Write(String, Object)

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

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

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

Write(String, Object, Object)

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

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

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

Write(String, Object, Object, Object)

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

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

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

Write(String, Object[])

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

(Diperoleh dari TextWriter)
Write(String, ReadOnlySpan<Object>)

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

Write(String, ReadOnlySpan<Object>)

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

(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)

Menulis karakter secara asinkron 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)

Menulis wilayah memori karakter secara asinkron ke aliran.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Menulis wilayah memori karakter secara asinkron ke aliran teks.

(Diperoleh dari TextWriter)
WriteAsync(String)

Menulis string secara asinkron ke aliran.

WriteAsync(String)

Menulis string ke aliran teks secara asinkron.

(Diperoleh dari TextWriter)
WriteAsync(StringBuilder, CancellationToken)

Menulis pembangun string secara asinkron ke aliran teks.

(Diperoleh dari TextWriter)
WriteLine()

Menulis terminator baris ke aliran teks.

(Diperoleh dari TextWriter)
WriteLine(Boolean)

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

(Diperoleh dari TextWriter)
WriteLine(Char)

Menulis karakter ke aliran teks, diikuti oleh terminator baris.

(Diperoleh dari TextWriter)
WriteLine(Char[])

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

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

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

(Diperoleh dari TextWriter)
WriteLine(Decimal)

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

(Diperoleh dari TextWriter)
WriteLine(Double)

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

(Diperoleh dari TextWriter)
WriteLine(Int32)

Menulis representasi teks bilangan bulat bertanda tangan 4-byte ke aliran teks, diikuti oleh terminator baris.

(Diperoleh dari TextWriter)
WriteLine(Int64)

Menulis representasi teks bilangan bulat bertanda tangan 8-byte ke aliran teks, diikuti oleh terminator baris.

(Diperoleh dari TextWriter)
WriteLine(Object)

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

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

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

WriteLine(ReadOnlySpan<Char>)

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

(Diperoleh dari TextWriter)
WriteLine(Single)

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

(Diperoleh dari TextWriter)
WriteLine(String)

Menulis string ke aliran, diikuti oleh terminator baris.

WriteLine(String)

Menulis string ke aliran teks, diikuti oleh terminator baris.

(Diperoleh dari TextWriter)
WriteLine(String, Object)

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

WriteLine(String, Object)

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

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

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

WriteLine(String, Object, Object)

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

(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(String, ReadOnlySpan<Object>)

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

WriteLine(String, ReadOnlySpan<Object>)

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

(Diperoleh dari TextWriter)
WriteLine(StringBuilder)

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

(Diperoleh dari TextWriter)
WriteLine(UInt32)

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

(Diperoleh dari TextWriter)
WriteLine(UInt64)

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

(Diperoleh dari TextWriter)
WriteLineAsync()

Secara asinkron menulis terminator baris ke aliran.

WriteLineAsync()

Menulis terminator baris secara asinkron ke aliran teks.

(Diperoleh dari TextWriter)
WriteLineAsync(Char)

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

WriteLineAsync(Char)

Secara asinkron menulis karakter ke aliran teks, diikuti oleh terminator garis.

(Diperoleh dari TextWriter)
WriteLineAsync(Char[])

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

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

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

WriteLineAsync(Char[], Int32, Int32)

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

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

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

WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Secara asinkron menulis representasi teks wilayah memori karakter ke aliran teks, diikuti oleh 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 oleh terminator baris.

(Diperoleh dari TextWriter)
WriteLineAsync(StringBuilder, CancellationToken)

Secara asinkron menulis representasi teks pembangun string ke aliran teks, diikuti oleh 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 akan dilakukan.

Berlaku untuk

Lihat juga