在C#中读取被其它进程打开的文件


在C#中,如果我们尝试读取某个被其它进程以写模式打开的文件件时,会遇到IO异常:

有的时候,这个被其进程占用的异常是比较令人烦心的。最近我写一个解析excel的程序的时候,由于这个异常,程序运行的时候还必须把excel关掉,得等程序跑完的时候还才能再次打开excel验证,非常不方便。从文件访问的模式来看,一个进程写,多个进程读应该是不冲突的。查了下相关的资料,只要指定FileShare参数为ReadWrite即可, 一个简单的示例如下:

    File.Open(@"r:\input.xlsx"FileMode.Open, FileAccess.Read, FileShare.ReadWrite); 

本来也算是一个常规操作了,之前也用过;但由于用得不多,容易忘,这里做个笔记,以备后续查询。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM