我一直在使用外部txt文件来保存乐谱和播放器名称(我只在两个不同的文件中保存一个乐谱和一个名字)
当有新的高分时,它会保留旧的高分。在我发布项目之前,我已经完成了所有工作,现在它无法找到该文件。
我嵌入了txt文件,但我无法写入。
我正在使用以下代码。
using (StreamWriter write = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "highscore.txt")) // read the high score text file
{
write.WriteLine(player.score); // saves the new high score
write.Close(); // closes the file
}
using (StreamWriter write = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "nickname.txt")) // reads the high score text file
{
write.WriteLine(player.nickname); // save new highscore name
write.Close(); // close file
}
当我从USB或CD运行游戏时,他们不会阅读 -
所以我的问题是 - 如何将txt文件放入我的游戏可以看到/找到的目录中?
答案 0 :(得分:4)
当您从CD运行程序时,您的应用程序的路径在该CD上,因此代码:
AppDomain.CurrentDomain.BaseDirectory + "highscore.txt"
指向只读CD路径。
为了能够正确保存文件,您可以:
使用其中一个可用目录(查看Environment类), 例如使用:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
另请注意,最好使用Path.Combine()
来连接路径而不是' +'登录。