添加到文本文件而不删除

我需要在一行中添加4个变量数,但是使用当前代码它只是替换数字,从而使它毫无意义。

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

所以我需要它写…

  lxyblxyblxyblxyb ... 

…但它并没有像这样,互联网并没有特别有用,希望这里可以提供帮助。

我会亲自使用File.AppendAllText …这样你只需指定要编写的文本,该方法将打开文件,附加文本,然后关闭文件。

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

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

或者,您可以将StreamWriter构造函数与append参数一起使用 。 我肯定建议使用File的方法 – 它们更清晰易读。

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

 using (StreamWriter writer = new StreamWriter("build.txt", true)) { ..... } 

您应该使用File.AppendText :

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