2

我需要将 4 个变量数字添加到一行中,但使用当前代码它只是替换了数字,因此变得毫无意义。

using (StreamWriter writer = new StreamWriter("build.txt"))
{
    writer.Write(" " + layer + " " + x + " " + y + " " + block);
    Console.WriteLine("[" + layer + "," + x + "," + y + "," + block + "]");                   
}

所以我需要它来写...

 l x y b l x y b l x y b l x y b ...

...但它并没有像那样工作,互联网也不是特别有帮助,希望这里可以提供帮助。

4

3 回答 3

9

File.AppendAllText个人会使用...这样您就可以指定要编写的文本,该方法将打开文件,附加文本,然后关闭文件。

如果你真的想使用作家,你可以使用File.AppendText

using (var writer = File.AppendText("build.txt"))
{
    writer.Write(...);
}

或者您可以使用StreamWriter带有append参数的构造函数。我肯定会推荐使用其中的方法File——它们更容易阅读。

于 2013-05-03T20:13:43.300 回答
5

StreamWriter有一个构造函数,它接受一个布尔值以指示您要附加到当前文本而不是覆盖它

using (StreamWriter writer = new StreamWriter("build.txt", true))
{
    .....
}
于 2013-05-03T20:15:47.290 回答
2

您应该为此使用File.AppendText

using (StreamWriter sw = File.AppendText("build.txt")) 
{
   sw.Write(" " + layer + " " + x + " " + y + " " + block);
   Console.WriteLine("[" + layer + "," + x + "," + y + "," + block + "]");
}
于 2013-05-03T20:15:54.690 回答