我想将行附加到我的文件中。我正在使用代码:
StreamWriter sw = new StreamWriter("gamedata.txt", true);
sw.Write(the_final);
sw.Dispose();
目前它正在连续输出所有内容。
我想将行附加到我的文件中。我正在使用代码:
StreamWriter sw = new StreamWriter("gamedata.txt", true);
sw.Write(the_final);
sw.Dispose();
目前它正在连续输出所有内容。
使用sw.WriteLine(the_final);
或sw.Write(the_final + "\n");
但更清洁:
System.IO.File.AppendAllText("gamedata.txt", the_final + Environment.NewLine);
您应该使用 writeline 在新行中写入sw.WriteLine(the_final)
它将行终止符写入文本流
您可以使用该WriteLine()
方法代替Write()
.
我认为问题在于您将输出构建到变量中时:the_final
您需要插入新行。您可以通过以下方式做到这一点:
the_final = "My First Line" + "\r\n";
the_final += "My Second Line!" + "\r\n";
thirdline = "My Third Line!";
the_final += thirdline + "\r\n";
"\r\n" 将产生您正在寻找的回车。
每个人都在提出的其他建议只会在输出的末尾附加 1 行新行,其余的仍然保留在一行上。
sw.Writeline();
在末尾写一个新行。
sw.Write();
不会在末尾追加新行。
用完sw.WriteLine()
_Write()
MSDN:将行终止符写入文本流。
http://msdn.microsoft.com/en-us/library/system.io.streamwriter.writeline.aspx
手动添加换行符
StreamWriter sw = new StreamWriter("gamedata.txt", true);
sw.Write(the_final + "\n");
sw.Dispose();
或使用writeline方法
这个问题很容易通过一个简短的谷歌搜索来回答。在发布之前做一些研究是很好的形式
虽然其他人都已经回答了你最初的问题,但我是否也可以建议这种改进?
using(StreamWriter sw = new StreamWriter("gamedata.txt", true))
{
sw.WriteLine(the_final);
}
当您有一个继承自 的对象时IDisposable
,最好使用using
它而不是手动处理它。一方面,using
即使遇到异常也会处理您的对象。