哪些有保证的文件写入位置可用
本文关键字:位置 文件 | 更新日期: 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);
通常,应用程序在此下创建一个子文件夹来存储其数据,并且不需要任何特殊权限即可读取/写入。