我有一個應用程序需要遍歷文本文件中的所有行,超過千兆字節的大小。其中一些文件有10或100幾百萬行。如何在C#2.0中執行異步文件讀取?
我目前(和同步)閱讀的例子,看起來像......
using (FileStream stream = new FileStream(args[0], FileMode.Open, FileAccess.Read, FileShare.Read)) {
using (StreamReader streamReader = new StreamReader(stream)) {
string line;
while (!string.IsNullOrEmpty(line = streamReader.ReadLine())) {
//do stuff with the line string...
}
}
}
我看了一些東西有關.NET異步IO流的方法,而我一些幫助,2後關於這個問題的具體問題。
首先,如果我需要每行的總數,這些文件非常短,但長度各不相同,我會通過異步讀取這些文件來獲得性能提升(文件中每行之間沒有關係) ?
二,如何將上述代碼轉換爲異步讀取,以便我可以像現在一樣逐行處理每一行?
此代碼非常完美。我會爲異步文件讀取做同樣的事情。 – 2009-04-29 09:51:25