为 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";
或者其他更好的方法?
- 文档必须可供每个用户在其本地计算机上使用,每个用户都有自己的文档
- 该程序不断向该文件发出请求,但必须通过卸载将其删除
- 文档不需要放在可见的位置
将文件保存到可执行路径文件夹是可行的,因为另一个用户需要访问该路径才能首先执行该程序。
备选方案是:
C:\Users\Public\AppData\Roaming\AppFolder
或 %ProgramData%
.
您的问题不完整,因为您没有说明文档应该针对每个用户还是针对所有用户。另外你不说它是否是一个临时文件。而且您没有指明是否希望文档位于可见位置。
通常情况下,文档应该存放在用户文件夹下。
顺便说一下,您应该始终使用函数来获取基本文件夹 SpecialFolder。通常,对于用户文档,您会指定 MyDocuments
。通常,创建许多文件的应用程序可能想要创建自己的子文件夹(为此目的使用 Path.Combine
)。
请注意,如果您想与许多用户共享数据,您可能必须使用所有用户共用的文件夹,甚至可能需要调整安全性。
当然,您在问题中所展示的任何方式都非常糟糕。指定的硬编码文件夹可能不存在。任何程序员都应该知道文件夹取决于安装的驱动器 Windows、OS 语言和版本,其中一些文件夹可以由用户自定义...
为其他用户保存 windows 形式的应用程序可执行文件的文本文档的正确方法是什么。现在我通常在 D:\Pro\bin\Debug 文件夹中找到它
"doc.txt";
也许最好走这条路:
@"c:\temp\doc.txt";
或者这个:
"C:\ProgramData\doc\doc.text";
或者其他更好的方法?
- 文档必须可供每个用户在其本地计算机上使用,每个用户都有自己的文档
- 该程序不断向该文件发出请求,但必须通过卸载将其删除
- 文档不需要放在可见的位置
将文件保存到可执行路径文件夹是可行的,因为另一个用户需要访问该路径才能首先执行该程序。
备选方案是:
C:\Users\Public\AppData\Roaming\AppFolder
或 %ProgramData%
.
您的问题不完整,因为您没有说明文档应该针对每个用户还是针对所有用户。另外你不说它是否是一个临时文件。而且您没有指明是否希望文档位于可见位置。
通常情况下,文档应该存放在用户文件夹下。
顺便说一下,您应该始终使用函数来获取基本文件夹 SpecialFolder。通常,对于用户文档,您会指定 MyDocuments
。通常,创建许多文件的应用程序可能想要创建自己的子文件夹(为此目的使用 Path.Combine
)。
请注意,如果您想与许多用户共享数据,您可能必须使用所有用户共用的文件夹,甚至可能需要调整安全性。
当然,您在问题中所展示的任何方式都非常糟糕。指定的硬编码文件夹可能不存在。任何程序员都应该知道文件夹取决于安装的驱动器 Windows、OS 语言和版本,其中一些文件夹可以由用户自定义...