私は、テキストファイルのすべての行を、ギガバイト以上のサイズでループする必要のあるアプリケーションを持っています。これらのファイルの中には、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...
}
}
}
は私がネット非同期IOストリーミング方法についていくつかのものを読んだことがある...のようなものを見て、私は2を持ついくつかの助け後にしていますこの問題に関する特定の質問。
私は、それぞれの行の全体が必要だとすれば、非同期的にこれらのファイルを読むことでパフォーマンスを向上させますが、ファイルの行間には関係がありません。 ?
第2に、上記のコードを非同期の読み取りに変換するにはどうすればよいですか?今のように、各行を処理できますか?
このコードは完璧です。私は非同期ファイルの読み込みにも同じことをします。 –
私は同意します。これは甘いです。同じ問題に対して別の解決策を考案しようとしている間、私はたくさんの仕事を保存しました。 – Skurmedel