Bagikan melalui


StringWriter Kelas

Definisi

Menerapkan TextWriter untuk menulis informasi ke string. Informasi disimpan dalam StringBuilderyang mendasar .

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 metode Write(Char) atau WriteAsync(Char), string pada satu waktu menggunakan Write(String) atau metode WriteAsync(String). Selain itu, Anda dapat menulis karakter, array karakter atau string diikuti oleh terminator baris secara asinkron dengan salah satu metode WriteLineAsync.

Nota

Jenis ini mengimplementasikan antarmuka IDisposable, 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 (di Visual Basic) tidak diperlukan.

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

Untuk melakukan ini... Lihat contoh dalam topik ini...
Membuat 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
Dapatkan ukuran file. FileInfo.Length
Dapatkan atribut file. File.GetAttributes
Atur atribut file. File.SetAttributes
Tentukan apakah ada file. File.Exists
Baca 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 baru kelas StringWriter dengan kontrol format yang ditentukan.

StringWriter(StringBuilder)

Menginisialisasi instans baru kelas StringWriter yang menulis ke StringBuilderyang ditentukan .

StringWriter(StringBuilder, IFormatProvider)

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

Bidang

CoreNewLine

Menyimpan karakter baris baru yang digunakan untuk TextWriterini.

(Diperoleh dari TextWriter)

Properti

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

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

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

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

(Diperoleh dari TextWriter)
FlushAsync()

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

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

Mengembalikan StringBuilderyang mendasar.

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

Write(Boolean)

Menulis representasi teks dari nilai Boolean 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 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 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 metode Format(String, Object).

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

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

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

Menulis wilayah memori karakter secara asinkron ke string.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

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

Menulis representasi teks pembangun string secara asinkron ke string.

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

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

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

Menulis terminator baris secara asinkron ke aliran teks.

(Diperoleh dari TextWriter)
WriteLineAsync(Char)

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

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