添加到文本文件而不删除

Ban*_*nom 2 c# text streamwriter

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

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

所以我需要它写...

 l x y b l x y b l x y b l x y b ...
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*eet 8

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

如果你真的想使用这个编写器,你可以使用File.AppendText:

using (var writer = File.AppendText("build.txt"))
{
    writer.Write(...);
}
Run Code Online (Sandbox Code Playgroud)

或者您可以将StreamWriter构造函数与append参数一起使用.我肯定会建议使用这些方法File- 它们更清晰易读.


Ste*_*eve 5

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

using (StreamWriter writer = new StreamWriter("build.txt", true))
{
    .....
}
Run Code Online (Sandbox Code Playgroud)