【问题标题】:Read already opened file读取已经打开的文件
【发布时间】:2014-04-15 22:15:07
【问题描述】:

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

我试着这样做:

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

我得到了

进程无法访问文件“something.xlsx”,因为它正被另一个进程使用。

有什么方法可以实现吗?

【问题讨论】:

标签: c# c#-4.0


【解决方案1】:

更改此参数:

 FileShare.Read

到这里:

 FileShare.ReadWrite

您正试图拒绝对该文件的写入访问权限,这会导致您的问题,因为 Excel 已经将其打开以进行写入。

【讨论】:

  • 完成了这项工作。谢谢
【解决方案2】:

您无法打开已经打开的文件。打开文件后请小心关闭文件。并且您应该确认您没有在其他软件中(同时)使用该文件...

【讨论】:

    猜你喜欢
    • 2013-11-01
    • 2015-04-06
    • 2017-09-08
    • 2019-03-26
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 2012-06-09
    • 2018-06-13
    相关资源
    最近更新 更多