📜  c# 从文件流中读取所有行 - C# (1)

📅  最后修改于: 2023-12-03 14:39:45.100000             🧑  作者: Mango

C# 从文件流中读取所有行

在C#编程中,我们有时需要从文件流中读取所有行。这在文本处理和日志记录等场景中很常见。在本文中,我们将介绍如何使用C#实现此功能。

1. 使用StreamReader读取文件流

我们可以使用C#提供的StreamReader类轻松地从文件流中读取所有行。以下是一个示例代码片段:

using System.IO;

string filePath = @"C:\example.txt";

using (StreamReader sr = new StreamReader(filePath))
{
    string line;
    while ((line = sr.ReadLine()) != null)
    {
        Console.WriteLine(line);
    }
}

在此代码片段中,我们打开一个指向'example.txt'文件的StreamReader对象,然后使用ReadLine()方法从文件流中读取每一行。如果文件已经读取完,ReadLine()方法将返回null,因而循环也将结束。

2. 使用File.ReadAllLines读取文件流

另一种读取文件流的方法是使用C#的内置函数File.ReadAllLines。以下是一个示例代码片段:

using System.IO;

string filePath = @"C:\example.txt";

string[] lines = File.ReadAllLines(filePath);

foreach(string line in lines)
{
    Console.WriteLine(line);
}

在此代码片段中,我们使用File.ReadAllLines函数一次性地将文件中的所有行读取到string[]数组中。然后我们可以遍历数组并打印每一行。

3. 总结

以上两种方法都可以实现从文件流中读取所有行的功能,但是使用StreamReader读取文件流可以在处理大文件时节省内存。当文件较小时,我们也可以使用File.ReadAllLines读取文件流,这样代码更加简洁。