這個(gè)類(lèi)用于寫(xiě)入和處理字符串?dāng)?shù)據(jù)而不是文件。它是派生自TextWriter
類(lèi)。StringWriter
類(lèi)寫(xiě)入的字符串?dāng)?shù)據(jù)存儲(chǔ)到StringBuilder
中。
StringWriter
類(lèi)的目的是將操作字符串的結(jié)果保存到StringBuilder
中。
StringWriter
類(lèi)簽名
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class StringWriter : TextWriter
C# StringWriter
構(gòu)造函數(shù)
構(gòu)造函數(shù) | 描述 |
---|---|
StringWriter() | 它用于初始化StringWriter 類(lèi)的新實(shí)例。 |
StringWriter(IFormatProvider) | 它用于使用指定的格式控件初始化StringWriter 類(lèi)的新實(shí)例。 |
StringWriter(StringBuilder) | 它用于初始化寫(xiě)入指定StringBuilder 的StringWriter 類(lèi)的新實(shí)例。 |
StringWriter(StringBuilder,?IFormatProvider) | 它用于初始化寫(xiě)入指定的StringBuilder 的StringWriter 類(lèi)的新實(shí)例,并具有指定的格式提供程序。 |
屬性 | 描述 |
---|---|
Encoding | 它用于獲取寫(xiě)入輸出的編碼。 |
FormatProvider | 它用于獲取控制格式化的對(duì)象。 |
NewLine | 它用于獲取或設(shè)置當(dāng)前TextWriter 使用的行終止符字符串。 |
屬性 | 描述 |
---|---|
Close() | 它用于關(guān)閉當(dāng)前的StringWriter 和底層流。 |
Dispose() | 它用于釋放TextWriter 對(duì)象使用的所有資源。 |
Equals(Object) | 它用于確定指定的對(duì)象是否等于當(dāng)前對(duì)象。 |
Finalize() | 它允許對(duì)象嘗試釋放資源并執(zhí)行其他清理操作。 |
GetHashCode() | 它用作默認(rèn)散列函數(shù)。 |
GetStringBuilder() | 它返回底層的StringBuilder 。 |
ToString() | 它返回一個(gè)包含寫(xiě)入當(dāng)前StringWriter 的字符串。 |
WriteAsync(String) | 它用于將異步字符串寫(xiě)入字符串。 |
Write(Boolean) | 它用于將布爾值的文本表示寫(xiě)入字符串。 |
Write(String) | 它用于將字符串寫(xiě)入當(dāng)前字符串。 |
WriteLine(String) | 它用于將字符串后跟一個(gè)行終止符寫(xiě)入字符串或流。 |
WriteLineAsync(String) | 寫(xiě)一個(gè)字符串后跟一個(gè)行終止符與當(dāng)前字符串異步(覆蓋TextWriter.WriteLineAsync(String) 方法。) |
在下面的程序中,使用StringWriter
類(lèi)將字符串信息寫(xiě)入StringBuilder
類(lèi)。 StringReader
類(lèi)用于讀取寫(xiě)入信息到StringBuilder
類(lèi)中。
using System;
using System.IO;
using System.Text;
namespace CSharpProgram
{
class Program
{
static void Main(string[] args)
{
string text = "Hello, Welcome to the yiibai.com \n" +
"It is nice site. \n" +
"It provides IT tutorials";
// Creating StringBuilder instance
StringBuilder sb = new StringBuilder();
// Passing StringBuilder instance into StringWriter
StringWriter writer = new StringWriter(sb);
// Writing data using StringWriter
writer.WriteLine(text);
writer.Flush();
// Closing writer connection
writer.Close();
// Creating StringReader instance and passing StringBuilder
StringReader reader = new StringReader(sb.ToString());
// Reading data
while (reader.Peek() > -1)
{
Console.WriteLine(reader.ReadLine());
}
}
}
}
執(zhí)行上面示例代碼,得到以下結(jié)果 -
Hello, Welcome to the yiibai.com
It is nice site.
It provides IT tutorials