Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 读取已打开的文件_C#_C# 4.0 - Fatal编程技术网

C# 读取已打开的文件

C# 读取已打开的文件,c#,c#-4.0,C#,C# 4.0,有没有办法从只读文件中读取二进制数据?我有一个Excel工作表,可以在Excel中打开,但我只想打开它以供阅读 我试着这样做: using (FileStream fileStream = File.Open(filepath, FileMode.Open, FileAccess.Read, FileShare.Read)) 我越来越 进程无法访问文件'something.xlsx',因为其他进程正在使用该文件 有什么方法可以做到这一点吗?您无法打开已经打开的文件。打开文件后,请小心关闭它。您

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

我试着这样做:

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

进程无法访问文件'something.xlsx',因为其他进程正在使用该文件


有什么方法可以做到这一点吗?

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

您无法打开已打开的文件。打开文件后,请小心关闭它。您应该验证您没有在其他软件中使用该文件(同时).

更改此参数:

 FileShare.Read
为此:

 FileShare.ReadWrite
您试图拒绝对该文件的写入访问,这导致了您的问题,因为Excel已将其打开进行写入操作。

更改此参数:

 FileShare.Read
为此:

 FileShare.ReadWrite

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

可能重复执行该作业的可能重复项。谢谢你做了这件事。谢谢