为 windows 表单应用程序可执行文件定位文本文档的正确方法

Correct way to locate text document for windows form application executable

为其他用户保存 windows 形式的应用程序可执行文件的文本文档的正确方法是什么。现在我通常在 D:\Pro\bin\Debug 文件夹中找到它

"doc.txt";

也许最好走这条路:

@"c:\temp\doc.txt";

或者这个:

"C:\ProgramData\doc\doc.text"; 

或者其他更好的方法?

  1. 文档必须可供每个用户在其本地计算机上使用,每个用户都有自己的文档
  2. 该程序不断向该文件发出请求,但必须通过卸载将其删除
  3. 文档不需要放在可见的位置

将文件保存到可执行路径文件夹是可行的,因为另一个用户需要访问该路径才能首先执行该程序。

备选方案是:

C:\Users\Public\AppData\Roaming\AppFolder%ProgramData%.

您的问题不完整,因为您没有说明文档应该针对每个用户还是针对所有用户。另外你不说它是否是一个临时文件。而且您没有指明是否希望文档位于可见位置。

通常情况下,文档应该存放在用户文件夹下。

顺便说一下,您应该始终使用函数来获取基本文件夹 SpecialFolder。通常,对于用户文档,您会指定 MyDocuments。通常,创建许多文件的应用程序可能想要创建自己的子文件夹(为此目的使用 Path.Combine)。

请注意,如果您想与许多用户共享数据,您可能必须使用所有用户共用的文件夹,甚至可能需要调整安全性。

当然,您在问题中所展示的任何方式都非常糟糕。指定的硬编码文件夹可能不存在。任何程序员都应该知道文件夹取决于安装的驱动器 Windows、OS 语言和版本,其中一些文件夹可以由用户自定义...