C# TextWriter.WriteLine – 写入一行字符

  • Post category:C#

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 方法关闭输出流,否则可能会导致文件流操作未完成而程序退出的情况。