我需要在一行中添加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 ...
......但是它并没有那么成功,互联网也没有特别的帮助,希望这可以帮助。
答案 0 :(得分:8)
我会亲自使用File.AppendAllText
...这样你只需指定要编写的文本,该方法将打开文件,附加文本,然后关闭文件。
如果您确实想要使用该作者,可以使用File.AppendText
:
using (var writer = File.AppendText("build.txt"))
{
writer.Write(...);
}
或者您可以使用StreamWriter
constructor with an append
parameter。我肯定建议使用File
中的方法 - 它们更清晰易读。
答案 1 :(得分:1)
StreamWriter has a constructor接受一个布尔值,表示您要附加到当前文本而不是覆盖它
using (StreamWriter writer = new StreamWriter("build.txt", true))
{
.....
}
答案 2 :(得分:1)
您应该使用File.AppendText:
using (StreamWriter sw = File.AppendText("build.txt"))
{
sw.Write(" " + layer + " " + x + " " + y + " " + block);
Console.WriteLine("[" + layer + "," + x + "," + y + "," + block + "]");
}