ホームページ >バックエンド開発 >C++ >文字列配列を使用せずに、大きなテキスト ファイルから特定の行を効率的に読み取るにはどうすればよいですか?

文字列配列を使用せずに、大きなテキスト ファイルから特定の行を効率的に読み取るにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-15 09:21:50940ブラウズ

How Can I Efficiently Read Specific Lines from a Large Text File Without Using String Arrays?

大きなテキスト ファイルの行ごとの選択的読み取り

質問:

文字列配列を使用せずに、大きなテキスト ファイルから特定の行を読み取って保存するにはどうすればよいですか?

背景:

提供されるテキスト ファイルは構造化された形式です。最初の 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。