C# 保存包含换行符的richtextbox数据,将其保存到文件中并使用记事本打开,在c中不会显示换行符#
我正在使用c#中的windows窗体。我在C# 保存包含换行符的richtextbox数据,将其保存到文件中并使用记事本打开,在c中不会显示换行符#,c#,winforms,C#,Winforms,我正在使用c#中的windows窗体。我在richtextbox中有一些文本。我想把它保存在文本文件中。在richtextbox中,我同时使用了Environment.NewLine和“\r\n”作为换行符。如果我尝试手动将richtextbox数据复制到记事本中,它工作正常。但是如果我试图用 File.WriteAllText(路径,string.Concat(richtextbox.Text.ToString()) 或者sw.WriteLine(OutputBox.Text.ToString
richtextbox
中有一些文本。我想把它保存在文本文件中。在richtextbox中,我同时使用了Environment.NewLine
和“\r\n”
作为换行符。如果我尝试手动将richtextbox
数据复制到记事本中,它工作正常。但是如果我试图用
File.WriteAllText(路径,string.Concat(richtextbox.Text.ToString())代码>
或者sw.WriteLine(OutputBox.Text.ToString())代码>[此处sw用于StreamWriter
]并使用windows记事本打开,它不显示换行符。但是如果我试着用记事本++打开它,它就工作了。谁能帮帮我吗?使用文本框提前感谢
设置属性多行:
textBox1.Multiline = true;
将其保存在文本文件中:
StreamWriter writer = new StreamWriter("c:\\test.txt", true);
writer.WriteLine(textBox1.Text);
writer.Flush();
writer.Close();
使用richtextbox
StreamWriter writer = new StreamWriter("c:\\test.txt", true);
foreach (string l in richTextBox1.Lines)
{
writer.WriteLine(l);
}
writer.Flush();
writer.Close();
请尝试以下方法:
File.WriteAllLines(path, richTextBox1.Lines);
建议在有多行的richtexbox时使用此选项。我认为File.writealText应该正确地保留换行符。尝试用十六进制编辑器打开保存的文件,查看“0D 0A”应该在哪里的ascii码…我认为它会将\r\n转换为{par},然后在保存到\n时转换为。有些编辑器太笨,无法理解\n。。