读已打开的文件

时间:2014-04-15 14:10:24

标签: c# c#-4.0

有没有办法从只读文件中读取二进制数据?我有一个Excel工作表,可能会在Excel中打开,但我想打开它只是为了阅读目的。

我试着这样做:

using (FileStream fileStream = File.Open(filepath, FileMode.Open, FileAccess.Read, FileShare.Read))

我正在

  

该进程无法访问文件'something.xlsx',因为它正由另一个进程使用。

有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:4)

更改此参数:

 FileShare.Read

到此:

 FileShare.ReadWrite

您正在尝试拒绝对该文件的写入权限,这会导致您的问题已经打开以进行写入。

答案 1 :(得分:0)

您无法打开已经打开的文件。打开后小心关闭文件。你应该验证你没有在另一个软件中使用该文件(同时)......