解决思路来自:
http://www.cnblogs.com/conmajia/archive/2012/05/16/extreme-large-file-read-benchmark.html
解决方案下载地址:
http://download.csdn.net/detail/tobbykwok/8207721
类图如下:
使用示例:(Program.cs)
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string FileName = null;
if (args.Length == 1)
{
FileName = args[0];
}
else
{
Console.WriteLine(@"Filename? Example: 'D:\test.text'");
FileName = Console.ReadLine();
}
BigFileReader bfr = new BigFileReader(FileName);
Console.WriteLine("FileSize(Bytes): " + bfr.FileSize);
Console.WriteLine("PageSize(Bytes): "+bfr.PageSize);
Console.WriteLine("PageCount:"+ bfr.PageCount);
Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
while (bfr.Read())
{
//Console.WriteLine(System.Text.Encoding.Default.GetString(bfr.LastRead));
}
sw.Stop();
Console.WriteLine("Method: Read(), TimeCosts(ms): " + sw.ElapsedMilliseconds);
Console.WriteLine("Finish, Press 'Enter' to exit.");
Console.ReadLine();
}
}
}
执行效果: