テキストファイルを効率的に読み取ります:処理
質問:
C#.NETで高効率でテキストファイルを読み取る方法は?
回答:特定のニーズによれば、ファイルの読み取りを最適化する方法はたくさんあります。
StreamReader.Readline:
を使用します
バッファーの128バイトと比較して、StreamReaderを使用して適切なバッファサイズ(デフォルト1024以上)を設定すると、パフォーマンスが大幅に向上する可能性があります。
これは、行処理の最適化の代替方法であり、同時にすべての行を占めるメモリを回避します。
using (var fileStream = File.OpenRead(fileName)) using (var streamReader = new StreamReader(fileStream, Encoding.UTF8, true, 1024)) { string line; while ((line = streamReader.ReadLine()) != null) { // 处理每一行 } }
文字列[]が返されますが、この方法は上記の方法よりもメモリに対する需要が高くなります。ただし、ランダムアクセスを可能にします。
var lines = File.ReadLines(fileName); foreach (var line in lines) // 处理每一行
string.splitを使用:
var lines = File.ReadAllLines(fileName); for (var i = 0; i < lines.Length; i++) // 处理每一行
以上がC#.netで行ごとにテキストファイルを効率的に読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。