Share via


StringWriter Kelas

Definisi

TextWriter Mengimplementasikan untuk menulis informasi ke string. Informasi disimpan dalam yang mendasar StringBuilder.

public ref class StringWriter : System::IO::TextWriter
public class StringWriter : System.IO.TextWriter
[System.Serializable]
public class StringWriter : System.IO.TextWriter
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StringWriter : System.IO.TextWriter
type StringWriter = class
    inherit TextWriter
[<System.Serializable>]
type StringWriter = class
    inherit TextWriter
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StringWriter = class
    inherit TextWriter
Public Class StringWriter
Inherits TextWriter
Warisan
StringWriter
Warisan
Atribut

Contoh

Contoh kode berikut menunjukkan pembuatan paragraf berkelanjutan dari sekelompok kalimat berspasi ganda, lalu konversi paragraf kembali ke teks asli.

using namespace System;
using namespace System::IO;
int main()
{
   String^ textReaderText = "TextReader is the abstract base "
   "class of StreamReader and StringReader, which read "
   "characters from streams and strings, respectively.\n\n"
   "Create an instance of TextReader to open a text file "
   "for reading a specified range of characters, or to "
   "create a reader based on an existing stream.\n\n"
   "You can also use an instance of TextReader to read "
   "text from a custom backing store using the same "
   "APIs you would use for a string or a stream.\n\n";
   Console::WriteLine(  "Original text:\n\n{0}", textReaderText );

   // From textReaderText, create a continuous paragraph 
   // with two spaces between each sentence.
      String^ aLine;
   String^ aParagraph;
   StringReader^ strReader = gcnew StringReader( textReaderText );
   while ( true )
   {
      aLine = strReader->ReadLine();
      if ( aLine != nullptr )
      {
         aParagraph = String::Concat( aParagraph, aLine,  " " );
      }
      else
      {
         aParagraph = String::Concat( aParagraph,  "\n" );
         break;
      }
   }

   Console::WriteLine(  "Modified text:\n\n{0}", aParagraph );
   
   // Re-create textReaderText from aParagraph.
   int intCharacter;
   Char convertedCharacter;
   StringWriter^ strWriter = gcnew StringWriter;
   strReader = gcnew StringReader( aParagraph );
   while ( true )
   {
      intCharacter = strReader->Read();
      
      // Check for the end of the string 
      // before converting to a character.
      if ( intCharacter == -1 )
            break;

      
      convertedCharacter = Convert::ToChar( intCharacter );
      if ( convertedCharacter == '.' )
      {
         strWriter->Write(  ".\n\n" );
         
         // Bypass the spaces between sentences.
         strReader->Read();
         strReader->Read();
      }
      else
      {
         strWriter->Write( convertedCharacter );
      }
   }

   Console::WriteLine(  "\nOriginal text:\n\n{0}", strWriter->ToString() );
}
using System;
using System.IO;

class StringRW
{
    static void Main()
    {
        string textReaderText = "TextReader is the abstract base " +
            "class of StreamReader and StringReader, which read " +
            "characters from streams and strings, respectively.\n\n" +

            "Create an instance of TextReader to open a text file " +
            "for reading a specified range of characters, or to " +
            "create a reader based on an existing stream.\n\n" +

            "You can also use an instance of TextReader to read " +
            "text from a custom backing store using the same " +
            "APIs you would use for a string or a stream.\n\n";

        Console.WriteLine("Original text:\n\n{0}", textReaderText);

        // From textReaderText, create a continuous paragraph
        // with two spaces between each sentence.
        string aLine, aParagraph = null;
        StringReader strReader = new StringReader(textReaderText);
        while(true)
        {
            aLine = strReader.ReadLine();
            if(aLine != null)
            {
                aParagraph = aParagraph + aLine + " ";
            }
            else
            {
                aParagraph = aParagraph + "\n";
                break;
            }
        }
        Console.WriteLine("Modified text:\n\n{0}", aParagraph);

        // Re-create textReaderText from aParagraph.
        int intCharacter;
        char convertedCharacter;
        StringWriter strWriter = new StringWriter();
        strReader = new StringReader(aParagraph);
        while(true)
        {
            intCharacter = strReader.Read();

            // Check for the end of the string
            // before converting to a character.
            if(intCharacter == -1) break;

            convertedCharacter = (char)intCharacter;
            if(convertedCharacter == '.')
            {
                strWriter.Write(".\n\n");

                // Bypass the spaces between sentences.
                strReader.Read();
                strReader.Read();
            }
            else
            {
                strWriter.Write(convertedCharacter);
            }
        }
        Console.WriteLine("\nOriginal text:\n\n{0}",
            strWriter.ToString());
    }
}
Option Explicit
Option Strict

Imports System.IO

Public Class StrReader

    Shared Sub Main()
    
        Dim textReaderText As String = "TextReader is the " & _
            "abstract base class of StreamReader and " & _
            "StringReader, which read characters from streams " & _
            "and strings, respectively." & _
            vbCrLf & vbCrLf & _
            "Create an instance of TextReader to open a text " & _
            "file for reading a specified range of characters, " & _
            "or to create a reader based on an existing stream." & _
            vbCrLf & vbCrLf & _
            "You can also use an instance of TextReader to read " & _
            "text from a custom backing store using the same " & _
            "APIs you would use for a string or a stream." & _
            vbCrLf & vbCrLf

        Console.WriteLine("Original text:" & vbCrLf & vbCrLf & _
            textReaderText)

        ' From textReaderText, create a continuous paragraph 
        ' with two spaces between each sentence.
        Dim aLine, aParagraph As String
        Dim strReader As New StringReader(textReaderText)
        While True
            aLine = strReader.ReadLine()
            If aLine Is Nothing Then
                aParagraph = aParagraph & vbCrLf
                Exit While
            Else
                aParagraph = aParagraph & aLine & " "
            End If
        End While
        Console.WriteLine("Modified text:" & vbCrLf & vbCrLf & _ 
            aParagraph)
    
        ' Re-create textReaderText from aParagraph.
        Dim intCharacter As Integer 
        Dim convertedCharacter As Char 
        Dim strWriter As New StringWriter()
        strReader = New StringReader(aParagraph)
        While True
            intCharacter = strReader.Read()

            ' Check for the end of the string 
            ' before converting to a character.
            If intCharacter = -1 Then
                Exit While
            End If

            convertedCharacter = Convert.ToChar(intCharacter)
            If convertedCharacter = "."C Then
                strWriter.Write("." & vbCrLf & vbCrLf)

                ' Bypass the spaces between sentences.
                strReader.Read()
                strReader.Read()
            Else
                strWriter.Write(convertedCharacter)
            End If
        End While
        Console.WriteLine(vbCrLf & "Original text:" & vbCrLf & _ 
            vbCrLf & strWriter.ToString())

    End Sub
End Class

Keterangan

StringWriter memungkinkan Anda menulis ke string secara sinkron atau asinkron. Anda dapat menulis karakter pada satu waktu dengan Write(Char) metode atau WriteAsync(Char) , string pada satu waktu menggunakan Write(String) atau WriteAsync(String) metode . Selain itu, Anda dapat menulis karakter, array karakter atau string diikuti oleh terminator baris secara asinkron dengan salah WriteLineAsync satu metode.

Catatan

Jenis ini mengimplementasikan IDisposable antarmuka, tetapi sebenarnya tidak memiliki sumber daya untuk dibuang. Ini berarti bahwa membuangnya dengan langsung memanggil Dispose() atau dengan menggunakan konstruksi bahasa seperti using (dalam C#) atau Using (dalam Visual Basic) tidak diperlukan.

Tabel berikut ini mencantumkan contoh tugas I/O umum atau terkait lainnya.

Untuk melakukan ini... Lihat contoh dalam topik ini...
Buat file teks. Cara: Menulis Teks ke File
Menulis ke file teks. Cara: Menulis Teks ke File
Membaca dari file teks. Cara: Membaca Teks dari File
Tambahkan teks ke file. Cara: Membuka dan Menambahkan ke File Log

File.AppendText

FileInfo.AppendText
Mendapatkan ukuran file. FileInfo.Length
Mendapatkan atribut file. File.GetAttributes
Atur atribut file. File.SetAttributes
Tentukan apakah file ada. File.Exists
Membaca dari file biner. Cara: Membaca dan Menulis ke File Data yang Baru Dibuat
Tulis ke file biner. Cara: Membaca dan Menulis ke File Data yang Baru Dibuat

Konstruktor

StringWriter()

Menginisialisasi instans baru kelas StringWriter.

StringWriter(IFormatProvider)

Menginisialisasi instans StringWriter baru kelas dengan kontrol format yang ditentukan.

StringWriter(StringBuilder)

Menginisialisasi instans baru kelas StringWriter yang menulis ke yang ditentukan StringBuilder.

StringWriter(StringBuilder, IFormatProvider)

Menginisialisasi instans baru kelas StringWriter yang menulis ke yang ditentukan StringBuilder dan memiliki penyedia format yang ditentukan.

Bidang

CoreNewLine

Menyimpan karakter baris baru yang digunakan untuk ini TextWriter.

(Diperoleh dari TextWriter)

Properti

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 aliran saat ini StringWriter dan 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)

Merilis sumber daya tidak terkelola yang digunakan oleh StringWriter dan secara opsional merilis sumber daya terkelola.

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

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

(Diperoleh dari TextWriter)
FlushAsync()

Secara asinkron menghapus semua buffer untuk penulis saat ini 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)

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

Mengembalikan yang mendasar StringBuilder.

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 berisi karakter yang ditulis ke saat ini StringWriter sejauh ini.

Write(Boolean)

Menulis representasi teks dari Boolean nilai ke aliran teks.

(Diperoleh dari TextWriter)
Write(Char)

Menulis karakter ke string.

Write(Char[])

Menulis array karakter ke aliran teks.

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

Menulis subarray karakter ke string.

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 representasi string dari rentang karakter ke string saat ini.

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 string saat ini.

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 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 teks, menggunakan semantik yang sama dengan Format(String, Object, Object, Object) metode .

(Diperoleh dari TextWriter)
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 representasi string penyusun string ke string saat ini.

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 ke string secara asinkron.

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)

Menulis subarray karakter ke string secara asinkron.

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

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Secara asinkron menulis wilayah memori karakter ke aliran teks.

(Diperoleh dari TextWriter)
WriteAsync(String)

Menulis string ke string saat ini secara asinkron.

WriteAsync(String)

Menulis string ke aliran teks secara asinkron.

(Diperoleh dari TextWriter)
WriteAsync(StringBuilder, CancellationToken)

Secara asinkron menulis representasi teks penyusun string ke string.

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 rentang karakter ke string, 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 teks, diikuti dengan terminator baris.

(Diperoleh dari TextWriter)
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 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 teks, menggunakan semantik yang sama dengan Format(String, Object).

(Diperoleh dari TextWriter)
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 string, diikuti dengan terminator baris.

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

(Diperoleh dari TextWriter)
WriteLineAsync(Char)

Secara asinkron menulis karakter ke string, 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 string, 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 string dari wilayah memori karakter ke string saat ini, 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 string saat ini, 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 string pembangun string ke string saat ini, diikuti dengan terminator baris.

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