Kie*_*ock 3 .net c# io text carriage-return
我正在使用C#将文本导出到文件中System.IO.File.AppendAllText
,然后传入文本文件,然后将我要导出的文本\n
添加到结尾.当我查看文本文档时,它们不在不同的行上,尽管行之间存在令人讨厌的返回行字符.因此系统可能认为它是两行,但用户将其视为一行.如果不在每次生成文件时都进行查找替换,如何自动修复?
System.IO.File.AppendAllText(@"./WarningsLog.txt", line + "\n");
Run Code Online (Sandbox Code Playgroud)
use*_*710 13
您需要使用Environment.NewLine
而不是\n
,因为换行可能不止于此.在Windows中(如果我没有记错的话),默认是实际的\r\n
虽然,使用\r\n
,将帮助你临时,使用Environment.NewLine
是正确的方法去
首先,有几种方法可以代表新系列.最常用的是:
\n
字.\n
这里代表ñ ewline字符.\r\n
字.\r
这里是为了运输r eturn字符.如果您正在编写与平台无关的内容,那么Environment.NewLine
将为您完成工作并选择正确的字符.
MSDN声明它代表:
对于非Unix平台包含"\ r \n"的字符串,或者对于Unix平台包含"\n"的字符串.
此外,在某些情况下,您可能希望使用System.IO.File.AppendAllLines
a IEnumerable<string>
作为行集合并将其附加到文件.不幸的是,我没有找到那里使用哪个行分隔符,但我想它仍然存在Environment.NewLine
.