大きなテキスト ファイルの行ごとの選択的読み取り
質問:
文字列配列を使用せずに、大きなテキスト ファイルから特定の行を読み取って保存するにはどうすればよいですか?
背景:
提供されるテキスト ファイルは構造化された形式です。最初の 25 行に情報が含まれ、その後に可変行数が続きます (行数は 17 行目の値によって決まります)。目標は、ファイルから最初の 25 行を独立した値として抽出して保存し、後続の行を配列として保存することです。
解決策:
.NET 4.0 メソッド:
.NET 4.0 以降を使用している場合、ReadLines
メソッドは行に直接アクセスできます。 15 行目を読むには:
<code class="language-csharp">string line = File.ReadLines(FileName).Skip(14).Take(1).First();</code>
一般的な方法:
以前の .NET バージョンの場合、または行の順次読み取りが避けられない場合:
<code class="language-csharp">string GetLine(string fileName, int line) { using (var sr = new StreamReader(fileName)) { for (int i = 1; i <= line; i++) { if (sr.ReadLine() == null) return null; // 处理文件结尾 if (i == line) return sr.ReadLine(); } return null; } }</code>
このメソッドは、ターゲット行の前のすべての行を読み取ります。
注:
通常、ファイルの再読み取りと再書き込みを行わずに最初の n 行を削除できるとは考えられません。ただし、ここで説明する解決策では行を削除する必要はありません。
以上が文字列配列を使用せずに、大きなテキスト ファイルから特定の行を効率的に読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。