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

本文关键字:读访问 失败 文件 为什么 只读 | 更新日期: 2023-09-27 17:51:03

我正在尝试在windows服务中打开文件。但我得到访问拒绝错误。我使用下面的代码:

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

正如你在这里看到的,我只打开读权限。并且该文件已经具有在属性对话框中选中的只读权限。但是,我仍然不明白为什么我得到这个错误。

Thanks in advance

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

尝试如下:

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

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

另外,尝试添加FileShare.Read而不是FileShare.ReadWrite作为Open语句的参数,因为FileAccess被设置为Read。

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