Как добавить новую строчку в 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();