Мне нужно прочитать и записать данные в CSV-файл.В первой строке моего CSV есть число, которое я поднимаю с каждым новым данными.Следующие строки содержат информацию о лицах, начинающихся с индивидуального номера.Мне нужно прочитать первую строку и преобразовать его в число, чтобы я мог переписать его для добавленной строки.Следующая проблема - когда я перезаписываю число первой строкой, StreamWriter (установлен на true) перезаписывает вторую строку, но в конце файла следует добавить строку.Пример:
Line1: 2345
Line2: 2343 John Smith 01.01.1999
Line3: 2344 Dave Mustane 02.02.2000
Line4: 2345 Linda Fisher 03.03.1995
А это мой код:
using System.IO;
private void btn_speichern_Click(object sender, EventArgs e)
{
string dateipfad = @"C:\test";
string input;
int ID = 0;
using (StreamReader reader = new StreamReader(dateipfad))
input = reader.ReadLine() ?? "";
try
{
ID = Int32.Parse(input);
ID = ++ID;
}
catch
{
MessageBox.Show("Error - cannot convert ID");
}
using (StreamWriter newid = new StreamWriter(dateipfad))
{
newid.WriteLine(ID);
newid.Flush();
} //This is how I write the lines:
using (StreamWriter writer = new StreamWriter(dateipfad, true))
{
string row = string.Format("{0,-20}{1,-30}{2,-30}{3,-10}", ID, tbName.Text, tbVorname.Text, tbTag.Text + "." + tbMonat.Text + "." + tbJahr.Text);
writer.WriteLine(row);
MessageBox.Show("Erfolg!");
}
this.Close();
}