哪些有保证的文件写入位置可用

本文关键字:位置 文件 | 更新日期: 2023-09-27 18:32:44

在本地系统上,是否有(合理)保证的位置来创建目录结构来写入文件?我正在寻找一种不需要管理权限即可更改权限的解决方案?

经过一些研究,我看到了这个用于查找当前用户的桌面文件夹的答案。我可以使用它,但是还有哪些其他选择可用?

汇集研究

System.Environment.SpecialFolder枚举

哪些有保证的文件写入位置可用

请考虑使用独立存储类。

独立存储为您提供了与给定用户和程序集关联的存储位置;它在不完全受信任的环境中工作,并且可以使用漫游来保持用户的数据,即使在不同的计算机上也是如此。看

http://msdn.microsoft.com/en-us/library/System.IO.IsolatedStorage.aspx

了解详情。

事实上,特殊文件夹是特殊的,因为有合理的保证它们将存在。

没有其他文件夹有这样的保证。 甚至不能保证C:'(尽管它很可能存在于绝大多数Windows系统上)。

ApplicationData 下的自定义文件夹是为给定用户写入应用程序特定数据的常用位置,CommonApplicationData用于在系统上所有用户之间共享应用程序数据。

在实施漫游的环境中(无论用户登录到哪个物理服务器,用户的数据都随身携带),ApplicationData将跟随用户。 如果您不希望这种行为,则可以改用LocalApplicationData

AppData 路径可能是您想要的。Windows XP+ 中的此文件夹可以引用

string folder = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);

通常,应用程序在此下创建一个子文件夹来存储其数据,并且不需要任何特殊权限即可读取/写入。