5

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

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

综合研究

System.Environment.SpecialFolder枚举

4

3 回答 3

6

考虑使用隔离的存储类。

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

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

详情。

于 2013-09-25T21:05:02.247 回答
3

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

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

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

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

于 2013-09-25T19:27:02.153 回答
2

AppData 路径可能是您想要的。windows XP+中的这个文件夹可以用

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

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

于 2013-09-25T19:26:44.070 回答