C#判断文件是否被打开或者正被使用
if(!System.IO.File.Exists(fileFullName)){result=false;}//end:如果文件不存在的处理逻辑else{//如果文件存...
if (!System.IO.File.Exists(fileFullName))
{
result = false;
}//end: 如果文件不存在的处理逻辑
else
{//如果文件存在,则继续判断文件是否已被其它程序使用
//逻辑:尝试执行打开文件的操作,如果文件已经被其它程序使用,则打开失败,抛出异常,根据此类异常可以判断文件是否已被其它程序使用。
FileStream fileStream = null;
try
{
fileStream = System.IO.File.Open(fileFullName, FileMode.Open, FileAccess.ReadWrite, FileShare.None); //在网上搜了很多答案,都基本和这个差不多,其实似乎并没有什么用处,比如:我用Windows图片工具打开了这张图片,但是这里还是不会报错,只会在下行删除的时候报错,求个正解
//File.Delete(fileFullName); //删除本地文件
}
catch
{
result = true;
}
finally
{
if (fileStream != null)
{
fileStream.Close();
}
}
}//end: 如果文件存在的处理逻辑
//返回指示文件是否已被其它程序使用的值
return result; 展开
{
result = false;
}//end: 如果文件不存在的处理逻辑
else
{//如果文件存在,则继续判断文件是否已被其它程序使用
//逻辑:尝试执行打开文件的操作,如果文件已经被其它程序使用,则打开失败,抛出异常,根据此类异常可以判断文件是否已被其它程序使用。
FileStream fileStream = null;
try
{
fileStream = System.IO.File.Open(fileFullName, FileMode.Open, FileAccess.ReadWrite, FileShare.None); //在网上搜了很多答案,都基本和这个差不多,其实似乎并没有什么用处,比如:我用Windows图片工具打开了这张图片,但是这里还是不会报错,只会在下行删除的时候报错,求个正解
//File.Delete(fileFullName); //删除本地文件
}
catch
{
result = true;
}
finally
{
if (fileStream != null)
{
fileStream.Close();
}
}
}//end: 如果文件存在的处理逻辑
//返回指示文件是否已被其它程序使用的值
return result; 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询