温馨提示×

c# readlines能处理多种格式吗

c#
小樊
83
2024-12-10 02:16:29
栏目: 编程语言

ReadLine() 方法是 C# 中 System.IO.StreamReader 类的一个成员,用于从流中读取一行文本。默认情况下,它假设输入流中的文本是 UTF-8 编码的。如果输入流中的文本是其他编码(如 GBK、ISO-8859-1 等),则需要使用 StreamReader 类的 CurrentEncoding 属性来指定正确的编码。

例如,以下代码演示了如何使用 StreamReader 读取不同编码的文本文件:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        // 使用 UTF-8 编码读取文件
        using (StreamReader sr = new StreamReader("file_utf8.txt", Encoding.UTF8))
        {
            string line;
            while ((line = sr.ReadLine()) != null)
            {
                Console.WriteLine(line);
            }
        }

        // 使用 GBK 编码读取文件
        using (StreamReader sr = new StreamReader("file_gbk.txt", Encoding.GetEncoding("GBK")))
        {
            string line;
            while ((line = sr.ReadLine()) != null)
            {
                Console.WriteLine(line);
            }
        }
    }
}

在这个例子中,我们分别使用 UTF-8 和 GBK 编码读取了两个不同编码的文本文件。注意,当使用非 UTF-8 编码时,需要将文件的编码传递给 StreamReader 构造函数。

0