StringWriter Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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 |
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 |
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 |
Write(Boolean) |
Menulis representasi teks dari nilai |
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 |
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 |
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 |
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
- StringBuilder
- StringReader
- I/O File dan Stream
- Cara: Membaca Teks dari File
- Cara: Menulis Teks ke File