【问题标题】:File.WriteAllText Doesn't Preserve NewlineFile.WriteAllText 不保留换行符
【发布时间】:2013-01-02 07:56:24
【问题描述】:

这段代码的输出

string fileDateTime = "StepsGA-" + DateTime.Now.ToString("dd-MM-yyyy-HH-mm-ss") + ".txt";
string fname = System.IO.Path.Combine(System.Environment.CurrentDirectory, fileDateTime);
File.WriteAllText(fname, txtSteps.Text);

不保留应有的换行符。文本框的所有内容都打印在一条水平长线上!我哪里出错了?谢谢!

【问题讨论】:

  • 在调试器中检查txtSteps.Text,看看它是否包含换行符...
  • 你能检查一下 txtSteps.Text 中是否有换行符吗?我尝试了一个包含新行的示例代码,它对我有用。
  • 这是 txtSteps 输出确实包含换行符!然而,这一切都出现在一条直线上!还有其他方法可以达到同样的效果吗?
  • 你能贴出 txtSteps.Text 的字符串值吗?你有 "\n" 作为你的新行还是只是 "\r" ?
  • TextBox 和 RichEditBox 都是宽容的,接受 \n 和 \r\n 作为行尾。您的文本编辑器可能不是。通过使用 File.WriteAllLines() 来避免意外,传递文本框的 Lines 属性。

标签: c# .net


【解决方案1】:

得到答案!我需要使用 Environment.NewLine 而不是 \n

【讨论】:

    猜你喜欢
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 2013-03-15
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    • 2015-12-24
    相关资源
    最近更新 更多