メモリの使用を避けるために、テキスト ファイルの指定された行を効率的に読み取ります
この記事では、ファイル全体をメモリにロードせずに、テキスト ファイルの指定した行を効率的に読み取る方法をいくつか紹介します。
.NET 4.0 以降
.NET 4.0 以降ではスキップ ライン メソッドを使用できます:
<code>string line = File.ReadLines(FileName).Skip(14).Take(1).First();</code>
このメソッドは、ファイル全体をメモリにロードせずに、15 行目を直接読み取ります。
.NET 4.0 以下
.NET 4.0 より前では、1 行ずつスキップする必要があります:
<code>string GetLine(string fileName, int line) { using (var sr = new StreamReader(fileName)) { for (int i = 1; i < line; i++) sr.ReadLine(); return sr.ReadLine(); } }</code>
このメソッドは必要な行のみを読み取るため、メモリ消費量が削減されます。
メモ
行をスキップするアプローチでは、ファイル全体をメモリに保存する必要はありませんが、ファイルの終わりに近い行にアクセスする場合は効率が低くなる可能性があります。さらに、ファイル構造では、変化する可能性のある行番号に依存せずに、行番号を正確に決定できる必要があります。
以上がファイル全体をメモリにロードせずに、テキスト ファイルの特定の行に効率的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。