C# 的 TextWriter 类是用于实现以字符为基础的写入器的抽象基类,它提供了 WriteLine 方法用于在数据流中写入指定的字符串,然后会在字符串末尾添加一个换行符。
使用 TextWriter 的 WriteLine 方法,需要先创建一个符合要求的文本格式的输出流(如 StreamWriter 对象),并将之分配给 TextWriter 实例的 BaseStream 属性或使用 TextWriter 的 Write 方法将其输出到其他流或文件中。
下面是部分 WriteLine 方法的定义:
public override void WriteLine(string value);
public override void WriteLine(string format, object arg0);
public override void WriteLine(string format, object arg0, object arg1);
public override void WriteLine(string format, object arg0, object arg1, object arg2);
public override void WriteLine(string format, params object[] args);
以最基础的 public override void WriteLine(string value)
方法为例,可以看出这个方法的作用就是将一个字符串写到输出流中,并在字符串尾部添加一个换行符。
下面是一个例子,演示如何使用 TextWriter 的 WriteLine 方法将一个字符串输出到文件中。
using System;
using System.IO;
class Program
{
static void Main()
{
// 创建一个文本写入器
using (var writer = new StreamWriter("output.txt"))
{
// 使用 WriteLine 方法将字符串写入文件
writer.WriteLine("Hello, World!");
}
}
}
在上面的代码中,我们使用 StreamWriter 创建一个名为 “output.txt” 的文件流,并使用 TextWriter 的 WriteLine 方法将 “Hello, World!” 写入该文件中。最后,程序运行完毕并退出时,StreamWriter 对象会自动关闭文件流。
下面再演示一个稍微复杂一点的例子,演示如何使用 TextWriter 的 WriteLine 方法将格式化字符串写入控制台。
using System;
class Program
{
static void Main()
{
// 使用 Console.Out 作为输出流创建 TextWriter 对象
var writer = Console.Out;
// 使用 WriteLine 方法将格式化字符串写入控制台
writer.WriteLine("My name is {0} and I'm {1} years old.", "Alice", 25);
// 关闭输出流
writer.Close();
}
}
在上面的代码中,我们直接使用 Console.Out 作为输出流创建 TextWriter 对象,并使用 WriteLine 方法格式化输出字符串,最后关闭输出流。
需要注意的是,最后一定要调用 Close 方法关闭输出流,否则可能会导致文件流操作未完成而程序退出的情况。