读取文件的最后n行

时间:2015-04-19 08:36:11

标签: c#

所以就像这篇文章的标题说我如何阅读文件的最后n行并将它们存储在List中?

请记住:

  • 文件很大(介于5 MB到10 MB之间)
  • 该文件可能会被其他线程锁定,也可能不会被其锁定
  • 它被另一个线程访问(当进程完成时,新行被添加到文件中)

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用此代码:

            List<string> Temp = new List<string>();
            int SkipLinesNum = 8;
            var GetAllFileToVar = File.ReadLines(@"C:\Sahbak\LinesToList.txt").Skip(SkipLinesNum);
            for (int n = 0; n < GetAllFileToVar.Count(); n++)
            {
                Temp.Add(GetAllFileToVar.ElementAt(0));
            }

现在你有一个名为&#34; Temp&#34;的字符串列表包含n = 8的所有行。 你可以编辑你&#34; n&#34;随时编号,也可以从用户那里获得。

这是最有效的方法,您不会将所有文件加载到内存中。