Streamwriter set true stil перезаписывает строки csv - PullRequest
0 голосов
/ 25 мая 2019

Мне нужно прочитать и записать данные в 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...