#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