With StreamWriter doesn't work \n (C#)

Waronius picture Waronius · Nov 12, 2012 · Viewed 49.5k times · Source

I have a problem with the C# Stream Writer. I use the following Code:

//Constructor
public EditorTXTFile
{
   FileStream f = File.Create(System.IO.Directory.GetCurrentDirectory() + "\\Output.txt");
   f.Close();
}

//Function AddText
public void AddLogFileText(string text)
{         
   string text = "l1\n\rl2\n\rl3\n\nl5";

   StreamWriter writer = new StreamWriter(System.IO.Directory.GetCurrentDirectory() + "\\Output.txt", true);
   writer.Write(text);         

   writer.Close();
}

When I open Output.txt it shows for \n or \r a █(which means not showable symbol) and the whole string is in one line... Later should the text hand over the function, so I can't write the text with .WriteLine because I don't know if the actual string is on the same line or in a new line.

What make I wrong?

Thanks for any help.

Answer

Alexei Levenkov picture Alexei Levenkov · Nov 12, 2012

Use Environment.NewLine as line separator or "\r\n" if you want to do it by hand.