2017-02-17 9 views
1

Ich bin neu in der Programmierung, können Sie mir dabei helfen ?, weil jedes Mal, wenn ich dies führe dupliziert die Daten, jetzt möchte ich ersetzen oder nur aktualisieren, hier ist mein Code .. DankeWie aktualisiere oder ersetze ich die CSV-Daten in C#

StreamWriter writer = null; 
StringBuilder strbuilder = null; 
string dir = Application.StartupPath; 
if (!Directory.Exists(dir)) 
{ 
    Directory.CreateDirectory(dir); 
} 


string path = Path.Combine(dir, "test.csv"); 
strbuilder = new StringBuilder(); 
strbuilder.Append("\n"); 
foreach (var a in listofuser) 
{ 

    strbuilder.Append(a.SystemUserID.ToString() + "," + a.FullName.ToString() + "," + a.Department.ToString() +","+ Environment.NewLine); 

} 


writer = new StreamWriter(path, true); 
writer.Write(strbuilder); 
writer.Close(); 
+0

Wenn die Datei relativ klein ist (und eine CSV wirklich seine Datei sollte), dann nehme ich ein einfacher Ansatz, den Inhalt der Datei in eine In-Memory-Sammlung zu lesen wäre (' Listen Sie 'eines benutzerdefinierten Objekts auf, bearbeiten Sie, was Sie in dieser Sammlung bearbeiten möchten, und schreiben Sie das Ganze dann in eine neue Datei zurück (überschreiben Sie das Original, wenn Sie möchten). – David

+0

Die Frage ist sehr breit. Wie viele Daten möchten Sie aktualisieren oder ersetzen? Woher kommen die Anweisungen zum Aktualisieren/Ändern? – jdweng

+0

Ich habe einen Großteil der Dateien in Sir, also muss ich ersetzen oder aktualisieren es jedes Mal, wenn ich das Programm ausführen werde –

Antwort

2

Wenn Sie Ihr Stream konstruieren, können Sie es sagen anhängen (bis zum Ende der Datei hinzufügen). Es klingt, als ob Sie wollen, dass es überschrieben wird (ersetzen Sie die Datei, wenn sie bereits existiert).

writer = new StreamWriter(path, false); 

Siehe https://msdn.microsoft.com/en-us/library/36b035cb(v=vs.110).aspx

+0

Vielen Dank Herr –

Verwandte Themen