c# 判斷文件是否正在被另一個進程使用

引言

我在做一個讀取excel文件批量插入數據庫的Job,遇到正在寫入的文件解析報錯:文件正在被另一個進程使用。找到一個判斷文件是否正在被使用的方法記錄一下。

 public static bool IsFileInUse(string fileName)
        {
            var inUse = true;
            if (!File.Exists(fileName)) return false; 
            try
            {
                using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None))
                {
                    inUse = false;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message.ToString());
            }
            return inUse;           
        }

總結

這裏主要通過try catch 來判斷文件流是否可以使用,可以使用inUse 返回true,否則返回false.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章