C# は大きなテキスト ファイル内の特定の行を効率的に読み取ります
ファイル全体を文字列の配列として保存するというメモリを大量に消費する解決策を回避し、大きなテキスト ファイルから特定の行を読み取る必要があります。次の方法を実現できます:
方法 1: バイト オフセット方法
FileStream.Seek
メソッドを使用して、計算されたオフセットにファイル ストリームを配置します。 StreamReader.ReadLine()
を使用します。 方法 2: LINQ メソッド (.NET 4.0 以降に適用可能)
File.ReadLines(fileName).Skip(line - 1).Take(1).First()
を使用します。 方法 3: カスタム行リーダー
例 (方法 1)
<code class="language-csharp">public static string GetLine(string fileName, int line) { using (var sr = new StreamReader(fileName)) { // ... (代码略,此处需补充计算字节偏移量和读取行的逻辑) ... } }</code>
構造化ドキュメントの処理
構造化ドキュメントの場合、次の戦略を使用できます:
File.ReadLines(fileName).Take(25).ToArray()
を使用して最初の 25 行を読みます。 X
の値を決定します。 File.ReadLines(fileName).Skip(25).Take(X).ToArray()
を使用して、次の X
行を読み取ります。 これらのメソッドを使用すると、ファイル全体をメモリにロードせずに、大きなテキスト ファイルから特定の行を効率的に読み取ることができます。 どの方法を選択するかは、ファイルの特定のサイズ、構造、および .NET Framework のバージョンによって異なります。
以上がC# を使用して大きなテキスト ファイルの特定の行に効率的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。