CSV-Dateien in C# schreiben: Das Überschreibproblem lösen
Beim Schreiben einer CSV-Datei in C# besteht ein häufiges Problem darin, dass nur die letzte Zeile geschrieben wird. Dies liegt daran, dass jede Iteration der Schleife den vorhandenen Inhalt in der Datei überschreibt.
Um dieses Problem zu lösen, muss jede Zeile an die CSV-Datei angehängt werden, anstatt sie zu überschreiben. Erstellen Sie dazu ein StringBuilder-Objekt und hängen Sie in einer Schleife neue Zeilen daran an. Nach Abschluss der Schleife wird der gesamte Inhalt von StringBuilder in eine CSV-Datei geschrieben.
Das Folgende ist ein Beispiel einer korrigierten Funktion:
<code class="language-csharp">var csv = new StringBuilder(); string first = reader[0].ToString(); string second = image.ToString(); csv.AppendLine(string.Format("{0},{1}", first, second)); File.WriteAllText(filePath, csv.ToString());</code>
Alternativ können Sie die Methode File.AppendAllText verwenden:
<code class="language-csharp">string newLine = string.Format("{0},{1}", first, second); File.AppendAllText(filePath, newLine);</code>
Dadurch werden neue Zeilen an die vorhandene Datei angehängt, ohne deren Inhalt zu überschreiben.
Eine andere Möglichkeit, eine CSV-Datei zu schreiben, ist die Verwendung der CsvHelper-Bibliothek. Diese Bibliothek vereinfacht diesen Prozess, indem sie Typkonvertierungen, String-Escapes und andere mit CSV-Dateien verbundene Komplexitäten übernimmt.
Das obige ist der detaillierte Inhalt vonWie kann ein Überschreiben beim Schreiben von Daten in eine CSV-Datei in C# verhindert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!