Search code examples
c#streamwriter

C# only writed last string


I have a problem, I am writing some data to file save.txt, but in file is only last item which I write.

This is my code:

SetLine("save.txt", Obchod.numbers[0].ToString(), 5);
SetLine("save.txt", Obchod.numbers[1].ToString(), 6);
SetLine("save.txt", Obchod.numbers[2].ToString(), 7);
SetLine("save.txt", Obchod.numbers[3].ToString(), 8);
SetLine("save.txt", Obchod.numbers[4].ToString(), 9);
SetLine("save.txt", Obchod.numbers[5].ToString(), 10);
SetLine("save.txt", Obchod.numbers[6].ToString(), 11); `

void SetLine(string filename, string text, int linenumber)
{
   using (StreamWriter sw = new StreamWriter(@filename, false))
   {
      for (int i = 0; i < linenumber; i++)
      {

      }

      sw.WriteLine(text);
      sw.Close();
   }
}

Solution

  • You are closing and reopening the file between each write. Either keep it open or specify a parameter to append to it instead of overwriting (which is default)