Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用StreamWriter不';t工作\n(C#)_C#_Newline_Streamwriter - Fatal编程技术网

使用StreamWriter不';t工作\n(C#)

使用StreamWriter不';t工作\n(C#),c#,newline,streamwriter,C#,Newline,Streamwriter,我对C#Stream Writer有问题。 我使用以下代码: //Constructor public EditorTXTFile { FileStream f = File.Create(System.IO.Directory.GetCurrentDirectory() + "\\Output.txt"); f.Close(); } //Function AddText public void AddLogFileText(string text) { s

我对C#Stream Writer有问题。 我使用以下代码:

//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();
}
当我打开Output.txt时,它会显示\n或\r█(表示不可显示的符号)并且整个字符串在一行中。。。 稍后文本应该移交函数,因此我不能使用.WriteLine编写文本,因为我不知道实际字符串是在同一行还是在新行中

什么使我错了


感谢您的帮助。

请尝试
string text=@“l1\n\rl2\n\rl3\n\nl5”。防止字符填充。

使用
环境。换行符
作为行分隔符或
“\r\n”
,如果您想手动操作。

行分隔符(换行符)是
\r\n
而不是
\n\r

将文本更改为:

       string text = "l1\r\nl2\r\nl3\r\nl5";
这是二进制格式:

writer.Write(text); 
这是行顺序格式:

writer.WriteLine(text); 

您必须使用
WriteLine
format…

您可以使用
Environment.NewLine
如下:

streamWriter.Write(String.Concat(Enumerable.Repeat(Environment.NewLine, n).ToArray()));

我试图编写一个类并将“\n”s 但是我找到了富文本框

是啊!它的工作原理是:

        RichTextBox rch = new RichTextBox();
        rch.Text = cmn;
        foreach (string l in rch.Lines)
            strw.WriteLine(l);

尝试
\r\n
而不是
\n\r
或者更好,writer.WriteLine
为您提供了帮助这里的答案也提供了一些有用的信息:但是当我刚写了一个\n(通过l5)时,它也应该会出现。是否?这对您的问题没有任何影响,但您应该使用
语句将StreamWriter调用封装在一个
中。
环境的美妙之处在于,换行符
不必为代码运行的特定环境担心
\r\n
的正确组合。您可以使用rch.NewLine=“\n\r”;要更改新行,变量n未知