這個類用于寫入和處理字符串數據而不是文件。它是派生自TextWriter類。StringWriter類寫入的字符串數據存儲到StringBuilder中。
StringWriter類的目的是將操作字符串的結果保存到StringBuilder中。
StringWriter類簽名
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class StringWriter : TextWriter
C# StringWriter構造函數
| 構造函數 | 描述 |
|---|---|
| StringWriter() | 它用于初始化StringWriter類的新實例。 |
| StringWriter(IFormatProvider) | 它用于使用指定的格式控件初始化StringWriter類的新實例。 |
| StringWriter(StringBuilder) | 它用于初始化寫入指定StringBuilder的StringWriter類的新實例。 |
| StringWriter(StringBuilder,?IFormatProvider) | 它用于初始化寫入指定的StringBuilder的StringWriter類的新實例,并具有指定的格式提供程序。 |
| 屬性 | 描述 |
|---|---|
| Encoding | 它用于獲取寫入輸出的編碼。 |
| FormatProvider | 它用于獲取控制格式化的對象。 |
| NewLine | 它用于獲取或設置當前TextWriter使用的行終止符字符串。 |
| 屬性 | 描述 |
|---|---|
| Close() | 它用于關閉當前的StringWriter和底層流。 |
| Dispose() | 它用于釋放TextWriter對象使用的所有資源。 |
| Equals(Object) | 它用于確定指定的對象是否等于當前對象。 |
| Finalize() | 它允許對象嘗試釋放資源并執(zhí)行其他清理操作。 |
| GetHashCode() | 它用作默認散列函數。 |
| GetStringBuilder() | 它返回底層的StringBuilder。 |
| ToString() | 它返回一個包含寫入當前StringWriter的字符串。 |
| WriteAsync(String) | 它用于將異步字符串寫入字符串。 |
| Write(Boolean) | 它用于將布爾值的文本表示寫入字符串。 |
| Write(String) | 它用于將字符串寫入當前字符串。 |
| WriteLine(String) | 它用于將字符串后跟一個行終止符寫入字符串或流。 |
| WriteLineAsync(String) | 寫一個字符串后跟一個行終止符與當前字符串異步(覆蓋TextWriter.WriteLineAsync(String)方法。) |
在下面的程序中,使用StringWriter類將字符串信息寫入StringBuilder類。 StringReader類用于讀取寫入信息到StringBuilder類中。
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í)行上面示例代碼,得到以下結果 -
Hello, Welcome to the yiibai.com
It is nice site.
It provides IT tutorials