我在C#编码并使用Windows窗体。 我有一个文本文件,想要计算其中的所有行。
彼得; 25
约翰; 31
简; 22
这就是三条线,我想以它们为例。
答案 0 :(得分:6)
最好的方法是使用类似的东西:
var count = File.ReadLines("file.txt").Count();
这只适用于.NET 4,但一次只读一行。如果您足够高兴一次性将整个文件加载到内存中,您可以使用:
var count = File.ReadAllLines("file.txt").Length;
请注意,如果文件很大(或者它在网络驱动器上等),这可能需要很长时间,在这种情况下,您需要在UI线程上执行此操作。
答案 1 :(得分:2)
如果文件不是太大,您可以这样做:
File.ReadAllLines(filePath).Length;
(这将分配整个文件,因此请确保性能不是问题)
答案 2 :(得分:1)
string fileName = @"X:\Testfolder\countthis.txt";
int lineCount = 0;
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(fs);
Assert.Fail();
while (reader.ReadLine() != null)
lineCount++;
return lineCount;