从一行到另一行读取文本文件?

时间:2013-04-23 08:48:56

标签: c# .net text-files

需要一些函数,它将使用文本文件行返回List(例如,从10行到25行)。 有解决方案吗我的所有轮胎都失败了。

6 个答案:

答案 0 :(得分:9)

您可以使用LINQ和File.ReadLines枚举文件行(在内部使用StreamReader):

List<string> lines = File.ReadLines(path).ToList();

答案 1 :(得分:5)

你可以这样做:

List<string> fileLines = new List<string>();

using (var reader = new StreamReader(fileName))
{
    string line;
    while ((line = r.ReadLine()) != null)
    {
       fileLines.Add(line);
    }
}

答案 2 :(得分:4)

// Retrieve 10 lines from Somefile.txt, starting from line 1
string filePath = "C:\\Somefile.txt";
int startLine = 1;
int lineCount = 10;
var fileLines = System.IO.File.ReadAllLines(filePath)
                .Skip((startLine-1))
                .Take(lineCount);

答案 3 :(得分:0)

检查一下。 .. http://www.aspdotnet-suresh.com/2010/12/how-to-read-and-write-text-file-using.html

使用Stream Else或强大的构建器

答案 4 :(得分:0)

List<string> lines = File.ReadLines().ToList();
for(int i = 0; i < lines.Count; i++){
if( i >= startline && i <= endline) LinesFromStartToEnd.Add( lines[i] );// same string list
}

答案 5 :(得分:0)

如果您的文件不是太大,可以使用linq:

int start = 10;
int end = 25;    
List<string> lines = File.ReadLines(path).Skip(start - 1).Take(end - start + 1).ToList();