在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