Как добавить новую строчку в csv, при этом сохранив старую

string a = "AAA";
string b = "BBB";
string c = "CCC";

string pathCsvFile = "F:\\csv.csv";

if (!File.Exists(pathCsvFile))
{
    File.Create(pathCsvFile);
}

var csv = new StringBuilder();

var newLine = string.Format("{0},{1},{2}", a, b, c);
csv.AppendLine(newLine);

File.WriteAllText(pathCsvFile, csv.ToString());

Console.WriteLine("Готово!");
Console.ReadKey();

Но в таком случае первая строчка переписывается. Считывать файл и перезаписывать не хочется, так как это странно как-то.


Ответы (1 шт):

Автор решения: default locale

Вместо WriteAllText можно использовать AppendAllLines:

File.AppendAllLines(pathCsvFile, new []{newLine});

В принципе, ни StringBuilder, ни проверка существования файла здесь не обязательны:

string a = "AAA";
string b = "BBB";
string c = "CCC";

string pathCsvFile = "F:\\csv.csv";

File.AppendAllLines(pathCsvFile, new []{$"{a},{b},{c}"});
Console.WriteLine("Готово!");
Console.ReadKey();
→ Ссылка