c#:为什么打开只读文件进行读访问失败

时间:2015-05-28 14:57:54

标签: c# file-io

我正在尝试在Windows服务中打开一个文件。但我得到Access拒绝错误。 我使用以下代码。

FileStream stream = File.Open('sample.txt', 
FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

如您所见,我只是在阅读权限的情况下开放。该文件已在属性对话框中检查了只读权限。但是,我仍然无法理解为什么我会收到这个错误。

提前致谢

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

确保通过将文件流包装在using语句中来处置文件流:

using (FileStream stream = File.Open('sample.exe', FileMode.Open, FileAccess.Read, FileShare.Read)) 
{
}

此外,尝试将FileShare.Read而不是FileShare.ReadWrite作为参数添加到Open语句中,因为FileAccess设置为Read。

确保用户有权访问该文件:右键单击该文件并检查安全性选项卡 - 将读取设置为" Everyone"。如果这不起作用,请将“完全控制”设置为“每个人”作为完整性测试。