25yicms利用ASP.NET(C#)+MSSQL技术全力打造功能最强大的营销型企业网站管理系统,企业做网站系统,做网站软件,提供div+css企业网站模板。
阅读内容

如何判断一个指定的文件是否正在被其他程序所占用(或者文件是否正在使用中)


时间:2014/11/30   来源:企业网站管理系统
   .NET(C#)如何判断一个指定的文件是否正在被其他程序所占用或者说文件是否正在使用中。这里我们利用FileStream的Open方法捕获异常来判断指定文件是否正在使用,具体判断实现如下:
#region 文件是否被占用
    /// <summary>
    /// 文件是否被占用
    /// </summary>
    /// <param name="file"></param>
    /// <returns></returns>
    static bool FileIsInUse(FileInfo file)
    {
      FileStream stream = null;
 
      try
      {
        stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);
      }
      catch (IOException)
      {
        //如果文件被占用,即
        //1.文件正在被另一程序写入
        //2.或者正在被另一线程处理
        //3.或者文件不存在
        //此处会抛出异常,我们就利用这个异常来判断指定文件是否被占用
        return true;
      }
      finally
      {
        if (stream != null)
          stream.Close();
      }
 
      //file is not locked
      return false;
    } 
    #endregion
点击次数:       打印此页  关闭