#region 判斷文件是否被占用 /// <summary> /// 返回指示文件是否已被其它程序使用的布爾值 /// </summary> /// <param name="fileFullName">文件的完全限定名,例如:“C:\MyFile.txt”。</param> /// <returns>如果文件已被其它程序使用,則為 true;否則為 false。</returns> public static Boolean FileIsUsed(String fileFullName) { Boolean result = false; //判斷文件是否存在,如果不存在,直接返回 false if (!System.IO.File.Exists(fileFullName)) { result = false; }//end: 如果文件不存在的處理邏輯 else {//如果文件存在,則繼續判斷文件是否已被其它程序使用 //邏輯:嘗試執行打開文件的操作,如果文件已經被其它程序使用,則打開失敗,拋出異常,根據此類異常可以判斷文件是否已被其它程序使用。 System.IO.FileStream fileStream = null; try { fileStream = System.IO.File.Open(fileFullName, System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite, System.IO.FileShare.None); result = false; } catch (System.IO.IOException ) { result = true; } catch (System.Exception) { result = true; } finally { if (fileStream != null) { fileStream.Close(); } } } return result; } #endregion