ホームページ >バックエンド開発 >C++ >C# で CSV ファイルに複数の行を書き込むときに上書きを防ぐにはどうすればよいですか?

C# で CSV ファイルに複数の行を書き込むときに上書きを防ぐにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-23 02:57:10712ブラウズ

How Can I Prevent Overwriting When Writing Multiple Rows to a CSV File in C#?

C# で CSV ファイルにデータを書き込む: 行ごとの方法

C# では、データを CSV ファイルに 1 行ずつ書き込むことができます。ループを使用して複数行のデータをファイルに書き込む必要があるとします。ただし、最後の行のみが書き込まれ、前の行が上書きされるという問題が発生します。

この問題を解決するには、次の方法に従ってください:

  1. StringBuilder を使用する: 各行をファイルに直接書き込む代わりに、行データを StringBuilder に蓄積します。これにより、ファイルへの不要な書き込み操作が防止されます。
  2. 行の書式設定: 文字列書式設定を使用して、「、」の形式で行データを作成します。
  3. StringBuilder に追加: AppendLine を使用して書式設定されたデータの各行を StringBuilder に追加し、すべての行を追跡します。
  4. 一度にファイルを書き込みます: ループが終了したら、上書きするか追加するかに応じて、File.WriteAllText または File.AppendAllText を使用して StringBuilder の内容をファイルに書き込みます。既存のデータ データ。

このアプローチを使用すると、コードは次のようになります:

<code class="language-csharp">StringBuilder csv = new StringBuilder();

// 循环遍历数据行
string first = reader[0].ToString();
string second = image.ToString();
string newLine = $"{first},{second}";
csv.AppendLine(newLine);

// 循环结束后写入文件
File.WriteAllText(filePath, csv.ToString());</code>

StringBuilder と遅延書き込みを活用することで、上書きせずにすべてのデータ行を CSV ファイルに効果的に書き込むことができます。

以上がC# で CSV ファイルに複数の行を書き込むときに上書きを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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