0

我想将行附加到我的文件中。我正在使用代码:

StreamWriter sw = new StreamWriter("gamedata.txt", true);
sw.Write(the_final);
sw.Dispose();

目前它正在连续输出所有内容。

4

8 回答 8

2

使用sw.WriteLine(the_final);sw.Write(the_final + "\n");

但更清洁:

System.IO.File.AppendAllText("gamedata.txt", the_final + Environment.NewLine);
于 2012-04-23T18:56:18.303 回答
1

您应该使用 writeline 在新行中写入sw.WriteLine(the_final)

它将行终止符写入文本流

http://msdn.microsoft.com/en-us/library/ebb1kw70.aspx

于 2012-04-23T18:56:18.253 回答
1

您可以使用该WriteLine()方法代替Write().

于 2012-04-23T18:56:30.963 回答
1

我认为问题在于您将输出构建到变量中时: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 行新行,其余的仍然保留在一行上。

于 2012-04-23T18:59:28.367 回答
0

sw.Writeline();在末尾写一个新行。 sw.Write();不会在末尾追加新行。

于 2012-04-23T18:57:07.423 回答
0

用完sw.WriteLine()_Write()

MSDN:将行终止符写入文本流。

http://msdn.microsoft.com/en-us/library/system.io.streamwriter.writeline.aspx

于 2012-04-23T18:57:32.920 回答
0

手动添加换行符

StreamWriter sw = new StreamWriter("gamedata.txt", true);
sw.Write(the_final + "\n");
sw.Dispose();

或使用writeline方法

这个问题很容易通过一个简短的谷歌搜索来回答。在发布之前做一些研究是很好的形式

于 2012-04-23T18:58:38.040 回答
0

虽然其他人都已经回答了你最初的问题,但我是否也可以建议这种改进?

using(StreamWriter sw = new StreamWriter("gamedata.txt", true))
{
    sw.WriteLine(the_final);
}

当您有一个继承自 的对象时IDisposable,最好使用using它而不是手动处理它。一方面,using即使遇到异常也会处理您的对象。

使用文档

于 2012-04-23T19:34:47.403 回答