我的软件需要在文件系统上生成文件,该文件可以被我的程序的任何其他实例读取,无论它在哪个用户帐户下运行。我遇到的问题是,如果在管理员帐户下创建文件,那么当我尝试在不同帐户下读取文件内容时,我会遇到UnauthorizedAccessException
。这是我用来创建文件的代码
using (var fileStream = File.Create(path))
using (var streamWriter = new StreamWriter(fileStream))
{
streamWriter.Write(/*some data*/);
}
并从文件中读取
using (var fileStream = new FileStream(fileName, FileMode.Open))
using (var streamReader = new StreamReader(fileStream))
{
var idLine = streamReader.ReadLine();
if (idLine != null) fileContents = idLine;
}
由于
答案 0 :(得分:2)
如果要更改对文件的访问权限,则必须使用AccessControl:http://msdn.microsoft.com/en-us/library/9c13ttb3.aspx
答案 1 :(得分:0)
致电Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
以获取该计算机上所有用户/帐户均可访问(读/写等)的应用程序特定路径。