C# 如何判断指定文件是否正被其它程序使用
2013-05-28 14:53
579 查看
C# 如何判断指定文件是否正被其它程序使用
起因:项目中发现在操作文件时,系统经常抛出异常,表示文件正被其它程序占用。需求:为了事先判断,以确认指定的文件是否正被其它程序使用,需要方法进行判断。
实现:
/// <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 ioEx)
{
result = true;
}
catch (System.Exception ex)
{
result = true;
}
finally
{
if (fileStream != null)
{
fileStream.Close();
}
}
}//end: 如果文件存在的处理逻辑
//返回指示文件是否已被其它程序使用的值
return result;
}//end method FileIsUsed
相关文章推荐
- C# 如何判断指定文件是否正被其它程序使用
- C#获取FTP目录下文件夹、文件的方法,进而判断FTP下指定文件夹是否存在
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- C# 判断 检测 access 建库 建表 文件是否存在等 数据操作 使用 ADOX
- C# 判断文件是否在使用的状态FSDF
- shell脚本如何判断某个文件里是否包含指定的字符?
- IOS中如何判断程序是否是第一次安装使用
- C# 判断 检测 access 建库 建表 文件是否存在等 数据操作 使用 ADOX
- c# 判断指定文件是否存在
- c/s程序版本自动升级的问题,如何判断client端版本号是否最新,然后从指定ftp服务器down
- 如何在C#中用程序执行指定的SQL脚本文件,实现自动安装创建数据库.txt
- 在delphi中如何判断一个文件正在被其它的程序或进程所调用?
- C#调用Exe文件的方法及如何判断程序调用的exe已结束
- C#中如何判断一个文件是否存在
- 怎么使用jquery判断一个元素是否含有一个指定的类(class)另外如何给元素动态添加类
- 打包安装VS2005开发程序时如何判断指定软件是否安装(比如ARCENGINE RUNTIME或FRAMEWORK)
- C#判断文件是否正在被使用
- c# 判断一个文件是否正在被使用
- C# _lopen判断文件是否正在被使用
- 如何简要判断自己对.cpp文件的修改是否生效? 如何简要判断程序所进入的预编译分支?