读写txt文件发布问题c#

时间:2015-05-02 07:07:00

标签: c# file-location

我一直在使用外部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文件放入我的游戏可以看到/找到的目录中?

1 个答案:

答案 0 :(得分:4)

当您从CD运行程序时,您的应用程序的路径在该CD上,因此代码:

AppDomain.CurrentDomain.BaseDirectory + "highscore.txt"

指向只读CD路径。

为了能够正确保存文件,您可以:

  • 要求用户输入他/她想要保存数据的路径
  • 使用其中一个可用目录(查看Environment类), 例如使用:

    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

另请注意,最好使用Path.Combine()来连接路径而不是' +'登录。