此类用于写入和处理字符串数据,而不是文件。它是TextWriter类的派生类。StringWriter类写入的字符串数据存储到StringBuilder中。
此类用于操作字符串并将结果保存到StringBuilder中。
StringWriter类签名
[SerializableAttribute] [ComVisibleAttribute(true)] public class StringWriter : TextWriter
C#StringWriter构造函数
| Constructors | Description |
|---|---|
| StringWriter() | 它用于初始化 StringWriter 类的新实例。 |
| StringWriter(IFormatProvider) | 它用于初始化具有指定格式控件的 StringWriter 类的新实例。 |
| StringWriter(StringBuilder) | 它用于初始化写入指定 StringBuilder 的 StringWriter 类的新实例。 |
| StringWriter(StringBuilder,?IFormatProvider) | 它用于初始化 StringWriter 类的新实例,该实例写入指定的 StringBuilder 并具有指定的格式提供程序。 |
C#StringWriter属性
| Property | Description |
|---|---|
| Encoding | 它用于获取写入输出的编码。 |
| FormatProvider | 它用于获取控制格式的对象。 |
| NewLine | 用于获取或设置当前 TextWriter 使用的行终止符字符串。 |
C#StringWriter方法
| Methods | Description |
|---|---|
| Close() | 它用于关闭当前的 StringWriter 和底层流。 |
| Dispose() | 它用于释放 TextWriter 对象使用的所有资源。 |
| Equals(Object) | 用于判断指定对象是否等于当前对象。 |
| Finalize() | 它允许对象尝试释放资源并执行其他清理操作。 |
| GetHashCode() | 它用作默认的散列函数。 |
| GetStringBuilder() | 它返回底层的 StringBuilder。 |
| ToString() | 它返回一个字符串,其中包含写入当前 StringWriter 的字符。 |
| WriteAsync(String) | 它用于将字符串异步写入当前字符串。 |
| Write(Boolean) | 它用于将布尔值的文本表示形式写入字符串。 |
| Write(String) | 它用于将字符串写入当前字符串。 |
| WriteLine(String) | 它用于将后跟行终止符的字符串写入字符串或流。 |
| WriteLineAsync(String) | 将后跟行终止符的字符串异步写入当前字符串。(覆盖 TextWriter.WriteLineAsync(String)。) |
C#StringWriter示例
在下面的程序中,无涯教程使用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 javatpoint \n" + "It is nice site. \n" + "It provides technical Learnfk"; // 创建 StringBuilder 实例 StringBuilder sb = new StringBuilder(); // 将 StringBuilder 实例传递给 StringWriter StringWriter writer = new StringWriter(sb); // 使用 StringWriter 写入数据 writer.WriteLine(text); writer.Flush(); // 关闭写入器连接 writer.Close(); // 创建 StringReader 实例并传递 StringBuilder StringReader reader = new StringReader(sb.ToString()); // 读取数据 while (reader.Peek() > -1) { Console.WriteLine(reader.ReadLine()); } } } }
输出:
Hello, Welcome to the javatpoint It is nice site. It provides technical Learnfk