【IT168技术文档】
使用StringWriter和StringReader类型我们可以将文本信息当作内存中的字符一样来处理。当想为基层缓冲区添加基于字符信息的时候,它们就非常有用。在下面的例子中,我们向一个StringWriter对象(而不是在本地硬盘上的一个文件)写入一段字符串信息:
因为StringWriter和StreamWriter都从一个基类(TextWriter)派生,或多或少它们的写操作逻辑代码有点相同。但需要知道,StringWriter还有一个特点,那就是它能通过GetStringBuilder()方法来获取一个System.Text.StringBuilder对象:static void Main(string[] args) { Console.WriteLine("***** Fun with StringWriter / StringReader *****\n"); // 创建一个StringWriter并把字符写入内存。 StringWriter strWriter = new StringWriter(); strWriter.WriteLine("Don't forget Mother's Day this year..."); strWriter.Close(); // 获取内容副本(存储在字符串中)并向控制台输出。 Console.WriteLine("Contents of StringWriter:\n{0}", strWriter); }
static void Main(string[] args) { Console.WriteLine("***** Fun with StringWriter / StringReader *****\n"); // 创建一个StringWriter并把字符写入内存。 StringWriter strWriter = new StringWriter(); ... // 得到内部的StringBuilder。 StringBuilder sb = strWriter.GetStringBuilder(); sb.Insert(0, "Hey!! "); Console.WriteLine("-> {0}", sb.ToString()); sb.Remove(0, "Hey!! ".Length); Console.WriteLine("-> {0}", sb.ToString()); }