如何在C#中跳过指定行数后读取文本文件

时间:2014-01-31 06:31:44

标签: c# file-io text-files skip

我有一个文本文件,我需要逐行阅读。现在根据我的要求,我必须在 65 行之后阅读文本文件。为此我试图使用skip()但它不起作用..这是我的代码..

string FileToCopy = "D:\\tickets.txt";

        if (System.IO.File.Exists(FileToCopy) == true)
        {
            var fs = new FileStream(FileToCopy, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
            using (var reader = new StreamReader(fs))
            {
                string line;
                string rawcdr="";
                while (true)
                {
                    while ((line = reader.ReadLine()).Skip(65) != null)
                    {
                        if (line != "")
                        {
                            rawcdr = line.ToString();
                        }
                        var strings = rawcdr.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                        if (strings.Length != 0)
                        {
                        }
                    }
                }
            }
        }

在代码上面执行code.Text文件正在从第一行读取,而我确实需要从 66 行读取。我哪里出错了?

2 个答案:

答案 0 :(得分:1)

为什么不使用File.ReadAllLines

var lines = File.ReadAllLines("D:\\tickets.txt")
                .Skip(65);
foreach(var line in lines)
{
   // do what you want with other lines...
}

答案 1 :(得分:1)

带有File.ReadAllLines的{p> Enumerable.Skip可能适合您

var listOfOtherLines = File.ReadAllLines(filename).Skip(65).ToList();