Bagikan melalui


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 secara using 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 dirancang Stream 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 meniadakan tipe 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" dalam 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 melemparkan 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 utas-aman.

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

Konstruktor

Nama Deskripsi
StreamWriter(Stream, Encoding, Int32, Boolean)

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

StreamWriter(Stream, Encoding, Int32)

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

StreamWriter(Stream, Encoding)

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

StreamWriter(Stream)

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

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 file ada, file dapat ditimpa atau ditambahkan. Jika file tidak ada, konstruktor ini akan 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 file ada, file dapat ditimpa atau ditambahkan. Jika file tidak ada, konstruktor ini akan membuat file baru.

StreamWriter(String, Boolean)

Menginisialisasi instans StreamWriter baru kelas 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, 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 .

StreamWriter(String)

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

Bidang

Nama Deskripsi
CoreNewLine

Menyimpan karakter baris baru yang digunakan untuk ini TextWriter.

(Diperoleh dari TextWriter)
Null

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

Properti

Nama Deskripsi
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 tempat Encoding output ditulis.

FormatProvider

Mendapatkan objek yang mengontrol pemformatan.

(Diperoleh dari TextWriter)
NewLine

Mendapatkan atau mengatur string terminator baris yang digunakan oleh .TextWriter

(Diperoleh dari TextWriter)

Metode

Nama Deskripsi
Close()

Menutup objek saat ini StreamWriter dan aliran yang mendasar.

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 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 StreamWriterdigunakan oleh .

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Finalize()

Membebaskan sumber daya saat ini StreamWriter 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(CancellationToken)

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

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 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[], Int32, Int32)

Menulis subarray karakter ke aliran.

Write(Char[])

Menulis array 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 pada objek tersebut ToString .

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

Menulis rentang karakter ke aliran.

Write(Rune)

TextWriter Mengimplementasikan untuk menulis karakter ke aliran dalam pengodean tertentu.

(Diperoleh dari TextWriter)
Write(Single)

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

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

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[])

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

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

Write(String)

Menulis string ke aliran.

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[], Int32, Int32)

Secara asinkron menulis subarray karakter ke aliran.

WriteAsync(Char[])

Menulis array karakter ke aliran teks secara asinkron.

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

Menulis wilayah memori karakter secara asinkron ke aliran.

WriteAsync(Rune)

TextWriter Mengimplementasikan untuk menulis karakter ke aliran dalam pengodean tertentu.

(Diperoleh dari TextWriter)
WriteAsync(String, CancellationToken)

TextWriter Mengimplementasikan untuk menulis karakter ke aliran dalam pengodean tertentu.

(Diperoleh dari TextWriter)
WriteAsync(String)

Menulis string secara asinkron ke aliran.

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 Boolean nilai 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[], Int32, Int32)

Menulis subarray 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(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 pada objek tersebut ToString , diikuti oleh terminator baris.

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

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

WriteLine(Rune)

TextWriter Mengimplementasikan untuk menulis karakter ke aliran dalam pengodean tertentu.

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

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[])

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)

Menulis string ke aliran, diikuti oleh terminator baris.

WriteLine(String)

Menulis string ke aliran teks, diikuti oleh terminator baris.

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

TextWriter Mengimplementasikan untuk menulis karakter ke aliran dalam pengodean tertentu.

(Diperoleh dari TextWriter)
WriteLineAsync(Char)

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

WriteLineAsync(Char[], Int32, Int32)

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

WriteLineAsync(Char[])

Secara asinkron menulis array 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(Rune)

TextWriter Mengimplementasikan untuk menulis karakter ke aliran dalam pengodean tertentu.

(Diperoleh dari TextWriter)
WriteLineAsync(String, CancellationToken)

TextWriter Mengimplementasikan untuk menulis karakter ke aliran dalam pengodean tertentu.

(Diperoleh dari TextWriter)
WriteLineAsync(String)

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

WriteLineAsync(StringBuilder, CancellationToken)

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

(Diperoleh dari TextWriter)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IDisposable.Dispose()

Untuk deskripsi anggota ini, lihat Dispose().

(Diperoleh dari TextWriter)

Metode Ekstensi

Nama Deskripsi
ConfigureAwait(IAsyncDisposable, Boolean)

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

Berlaku untuk

Lihat juga