Console.WriteLine("What name would you like to be known as?");
string usernameforscore = Console.ReadLine();
string path = *filepath*;
File.WriteAllText(path, (usernameforscore + " " + classicscore + Environment.NewLine));
因此,此代码是我正在为一个项目制作的游戏的一部分,当游戏失败时,在游戏结束时,我希望它既保存一个人选择的用户名又保存他们的得分(变量保存在其他地方)。我已经把它保存到文件中了,但是每次有人输入一组新数据时,文件就会被覆盖,并且只显示新数据。
我希望它写一个带有名称和分数的行,然后在下次运行代码时,它将在下一行显示新名称和分数,从而创建一个高分列表。
我正在使用Visual Studio和C#上的控制台程序
抱歉,如果这是重复的,我自己似乎找不到修复程序。
答案 0 :(得分:1)
有一个方法AppendAllText()而不是WriteAllText(),如下所示:
File.AppendAllText(@"c:\Path\filename.txt", "the text to append" + Environment.NewLine);
答案 1 :(得分:-1)
您可以使用以下方法UpdateTextFile
将数据保存到文本文件。
public static void UpdateTextFile(string fileName, string content, bool doNotOverwrite = true, bool writeNewLine = true)
{
StreamWriter file = null;
using (file = new System.IO.StreamWriter(@"D:\" + fileName + ".txt", doNotOverwrite))
{
if (writeNewLine)
{
file.WriteLine(content);
}
else
file.Write(content);
file.Close();
}
}
调用方法的示例:
UpdateTextFile("FileName", "file-content", true, false);
希望有帮助。