在C#中从文本文件中读取特定行数

9
我正在使用以下StreamReader从文本文件中读取数据:
string temp = fs.ReadToEnd ();
readlines[i] = temp;   

我想从文本文件中读取特定行数的内容(例如,只读取从第1行到第300行),然后将这些内容写入数组的一个元素中。请问有谁可以帮忙吗?谢谢!

我不知道这为什么被踩了。 我把它再次点赞到0。 - Teekin
@ Helgi,这总是发生在我身上。我不知道该说什么。感谢您的友善行动。 - FSm
3个回答

9
如果您想跳过前 n 行并从那里读取 p 行内容:
var lines = System.IO.File.ReadLines(path).Skip(n).Take(p).ToArray()

8

尝试使用一个简单的文本文件。

var lines = File.ReadLines("yourfile").Take(300);
readlines[i] = string.Join("-", lines);

1
如果您正在使用.NET 4或更高版本,则应优先选择ReadLines(而不是ReadAllLines),它不会实际读取您不需要的行。http://msdn.microsoft.com/fr-fr/library/dd383503.aspx - Kek
1
@Kek,是的,你说得对。我正在更新答案,但现在它与你的完全相同 :-) - Steve

3
使用ReadLine方法,添加一个计数器并按行递增,在达到300时退出循环。

3
可以,但这样会读取整个文件,如果文本文件很大,则可能会出现性能问题。 - JohnnBlade

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接