在非管理员模式下访问文本文件

时间:2010-07-17 08:12:47

标签: c#

我在Program Files中有一个文本文件。在非管理员模式下运行时,我无法从C#应用程序中编写它。

我正在使用此代码段

TextReader read = new StreamReader("C:\Program Files\......\link");

错误地说是拒绝访问该文件,但是我可以阅读它!

由于

3 个答案:

答案 0 :(得分:1)

默认情况下,非管理员用户对C:\Program Files中的文件没有写入权限。如果要写入所有用户均可访问的文件,则应在C:\ProgramData中创建。

答案 1 :(得分:1)

读取和写入文件的访问权限可能不同。作为非管理员,能够读取Program Files中的文件是正常的,但是无法编写它们。

如果文件是当前用户的设置,则应将其放在AppData文件夹下的文件夹中。您可以通过调用Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData))

找到AppData文件夹的位置

如果该文件是计算机上所有用户的设置,请使用Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData))

有关其他可能的特殊文件夹位置的列表,请参阅http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx

答案 2 :(得分:0)

在.net中有一个类文件 通过它你可以使用该方法 File.read(文件路径) 这会返回一个字符串 所以你可以轻松管理它 它也适用于非管理员模式