2010-07-17 35 views
2

我在Program Files中有一個文本文件。在非管理模式下運行時,我無法從C#應用程序中編寫它。以非管理員模式訪問文本文件

我使用這個片段

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

它拋出的是該文件的訪問被拒絕的錯誤,但我可以讀它!

感謝

回答

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

1

非管理員用戶沒有默認的文件的寫權限在C:\Program Files。如果要寫入所有用戶均可訪問的文件,則應在C:\ProgramData中創建它。

0

在.NET中還有一類文件 通過它可以使用的方法 File.read(文件路徑) 這個返回一個字符串 這樣你就可以輕鬆地管理它 它也可以在非管理員模式

+0

這並沒有真正解決問題,是嗎? – 2010-07-17 08:23:26

+0

我在非管理員模式下使用相同的類 – 2010-07-17 08:29:40

相關問題