我尝试了unxutils ' wc -l但它崩溃了1GB文件.我试过这个C#代码
long count = 0;
using (StreamReader r = new StreamReader(f))
{
string line;
while ((line = r.ReadLine()) != null)
{
count++;
}
}
return count;
Run Code Online (Sandbox Code Playgroud)
它在4秒内读取500MB文件
var size = 256;
var bytes = new byte[size];
var count = 0;
byte query = Convert.ToByte('\n');
using (var stream = File.OpenRead(file))
{
int many;
do
{
many = stream.Read(bytes, 0, size);
count += bytes.Where(a => a == query).Count();
} while (many == size);
}
Run Code Online (Sandbox Code Playgroud)
在10秒内读取
var count …Run Code Online (Sandbox Code Playgroud) 这样做有什么问题吗?
int i = new StreamReader("file.txt").ReadToEnd().Split(new char[] {'\n'}).Length
Run Code Online (Sandbox Code Playgroud)