【发布时间】:2018-09-20 08:36:15
【问题描述】:
我正在使用StringBuilder 来格式化我的字符串值,如下所示
学号:3602
注册时间:2018 年 9 月 11 日上午 12:00:00
报名人数:0
但是当我使用以下代码将其写入文本文件时
using (StreamWriter sw = new StreamWriter(@"LocaltempPath\Sheet.txt"))
{
sw.WriteLine(sb.ToString());
}
我的整个格式都被遗漏了,而不是上面显示的格式,值被复制到一行文本文件中!写入文本文件时如何保留格式?
更新:我的 StringBuilder 代码
StringBuilder sb = new StringBuilder("Student Number: " + StId);
sb.Append("\n");
sb.Append("Registered On: " + regdate);
sb.Append("\n");
sb.Append("Enrollment No: " + regnumber);
sb.Append("\n");
【问题讨论】:
-
显示将数据放入字符串构建器的代码
-
你确定是一行吗?当您仅使用换行符 (
\n) 作为行分隔符并在 Windows 记事本中打开文件时,它将是单行。但是,当您使用支持 Linux 行尾的良好编辑器时,文件将正确显示。第二种选择是,sb中的字符串实际上是在没有新行的情况下创建的 -
File.WriteAllText(@"LocaltempPath\Sheet.txt", sb.ToString());检查sb是否有新行 (\n)。Console.Write(sb.ToString());- 你能看到格式还是一行? -
@CaiusJard 请查看更新代码..谢谢
-
sb.AppendLine();而不是sb.Append("\n");:一些程序(如记事本)不喜欢\n但想要Windows\r\n
标签: c# .net string text stringbuilder