首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在.net/C#中以最佳方式逐行读取文本文件,同时保持最后n行读取?

在.net/C#中以最佳方式逐行读取文本文件,同时保持最后n行读取,可以使用以下方法:

  1. 使用StreamReader类逐行读取文本文件:
代码语言:txt
复制
string filePath = "path/to/file.txt";
int n = 10; // 保留最后10行

Queue<string> lines = new Queue<string>();

using (StreamReader reader = new StreamReader(filePath))
{
    string line;
    while ((line = reader.ReadLine()) != null)
    {
        lines.Enqueue(line);
        if (lines.Count > n)
        {
            lines.Dequeue();
        }
    }
}

// lines中存储了最后n行的内容
foreach (string line in lines)
{
    Console.WriteLine(line);
}
  1. 使用File.ReadLines方法逐行读取文本文件:
代码语言:txt
复制
string filePath = "path/to/file.txt";
int n = 10; // 保留最后10行

Queue<string> lines = new Queue<string>(File.ReadLines(filePath).Skip(Math.Max(0, File.ReadLines(filePath).Count() - n)));

// lines中存储了最后n行的内容
foreach (string line in lines)
{
    Console.WriteLine(line);
}

这两种方法都使用了一个队列来存储最后n行的内容。每读取一行文本,将其加入队列,并检查队列的大小是否超过n,如果超过则移除队列头部的元素。最后,遍历队列中的元素即可输出最后n行的内容。

推荐的腾讯云相关产品:腾讯云对象存储(COS),用于存储和管理文件、图片、视频等各种类型的数据。产品介绍链接地址:https://cloud.tencent.com/product/cos

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券