Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mencegah Penimpaan Apabila Menulis Berbilang Baris ke Fail CSV dalam C#?

Bagaimanakah Saya Boleh Mencegah Penimpaan Apabila Menulis Berbilang Baris ke Fail CSV dalam C#?

Susan Sarandon
Susan Sarandonasal
2025-01-23 02:57:10714semak imbas

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

Menulis data ke fail CSV dalam C#: Kaedah baris demi baris

Dalam C#, anda boleh menulis data ke fail CSV baris demi baris. Katakan anda perlu menulis berbilang baris data ke fail menggunakan gelung. Walau bagaimanapun, anda menghadapi masalah di mana hanya baris terakhir ditulis dan menimpa baris sebelumnya.

Untuk menyelesaikan isu ini, sila ikut kaedah ini:

  1. Gunakan StringBuilder: Daripada menulis terus ke fail untuk setiap baris, kumpulkan data baris ke dalam StringBuilder. Ini menghalang operasi tulis yang tidak perlu pada fail.
  2. Formatkan baris: Gunakan pemformatan rentetan untuk mencipta data baris dalam format ",".
  3. Tambah pada StringBuilder: Tambahkan setiap baris data berformat pada StringBuilder menggunakan AppendLine untuk menjejaki semua baris.
  4. Tulis fail sekali gus: Selepas gelung tamat, gunakan File.WriteAllText atau File.AppendAllText untuk menulis kandungan StringBuilder pada fail, bergantung pada sama ada anda mahu menulis ganti atau menambah ke data data sedia ada.

Menggunakan pendekatan ini, kod anda mungkin kelihatan seperti ini:

<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>

Dengan memanfaatkan StringBuilder dan penulisan malas, anda boleh menulis semua baris data ke fail CSV dengan berkesan tanpa menulis ganti.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Penimpaan Apabila Menulis Berbilang Baris ke Fail CSV dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn