Menambahkan Data pada Fail CSV dalam C# tanpa Tulis Ganti
Artikel ini menangani cabaran biasa untuk menambahkan baris data demi baris ke fail CSV dalam C# tanpa menulis ganti data sedia ada. Kaedah asal, menggunakan File.WriteAllText()
, mengakibatkan kehilangan data. Pendekatan yang dipertingkatkan ini menggunakan teknik yang lebih cekap dan mantap.
Masalah dengan File.WriteAllText()
Menulis secara langsung setiap baris menggunakan File.WriteAllText()
menimpa fail berulang kali, meninggalkan hanya baris bertulis terakhir.
Penyelesaian: Menggunakan StringBuilder
untuk Kecekapan
Penyelesaian yang paling cekap melibatkan penggunaan StringBuilder
untuk mengumpul semua baris dalam ingatan sebelum menulis ke fail. Ini meminimumkan operasi I/O cakera, meningkatkan prestasi, terutamanya apabila berurusan dengan sejumlah besar baris.
Berikut ialah fungsi yang dipertingkatkan:
<code class="language-csharp">var csv = new StringBuilder(); // Iterate through data rows foreach (var rowData in data) { // Format each row (adjust as needed for your data structure) var row = $"{rowData[0]},{rowData[1]}"; csv.AppendLine(row); } File.WriteAllText(filePath, csv.ToString()); </code>
Kod ini:
StringBuilder
untuk menyimpan data CSV.rowData
.$"..."
). Sesuaikan ini supaya sepadan dengan struktur data khusus anda.StringBuilder
menggunakan AppendLine()
.File.WriteAllText()
. Ambil perhatian bahawa ini akan timpa fail; lihat bahagian seterusnya untuk ditambahkan.Alternatif: Menambah dengan File.AppendAllText()
Untuk menambah baris pada fail CSV sedia ada, gunakan File.AppendAllText()
:
<code class="language-csharp">// ... (same StringBuilder logic as above) ... File.AppendAllText(filePath, csv.ToString());</code>
Kaedah ini menambahkan kandungan csv.ToString()
pada penghujung fail, mengekalkan data sedia ada. Ini biasanya lebih disukai untuk kemas kini tambahan kepada CSV.
Penambahbaikan Selanjutnya
try-catch
blok untuk mengendalikan kemungkinan pengecualian seperti IOException
.Pendekatan yang dipertingkatkan ini menyediakan cara yang lebih cekap dan boleh dipercayai untuk mengurus penulisan fail CSV dalam C#. Ingat untuk menyesuaikan pemformatan baris dengan struktur data khusus anda.
Atas ialah kandungan terperinci Bagaimana untuk Menulis Baris Data mengikut Baris ke Fail CSV dalam C# Tanpa Tulis Ganti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!