这个问题非常简单,现在可能是.NET专家的答案=)
所以它来了......什么是正确的方法(.NET语言独立,以确定文本文件中存在的行数(非空白),而不必检查直到行为空(我当前的方法) ?
提前致谢
答案 0 :(得分:4)
借鉴here:
var lineCount = 0;
using (var reader = File.OpenText(@"C:\file.txt"))
{
while ((string line = reader.ReadLine()) != null)
{
if (line.Length > 0) lineCount++;
}
}
答案 1 :(得分:2)
var path = @"C:\file.txt";
var lines = File.ReadAllLines(path);
var lineCount = lines.Count(s => s != "");
或者,可读性稍差,一气呵成:
var lines = File.ReadAllLines(@"C:\file.txt").Count(s => s != "");
答案 2 :(得分:1)
文件作为流读入,因此您必须全部阅读以确定您正在尝试的内容。
您可以扫描字节,或在FileReader上执行ReadToEnd以获取字符串表示,以查找Environment.NewLine实例并对其进行计数。
如果您将文件读入字符串,则可以使用Regex类来计算Environment.NewLine的匹配项的附加好处
修改强> 我喜欢使用File.ReadAllLines并使用结果长度
的cxfx想法