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;
展开
 我来答
沈红伟
2013-11-07 · 超过33用户采纳过TA的回答
知道答主
回答量:184
采纳率:100%
帮助的人:36.5万
展开全部
别的程序如果是共享打开的话,你再打开也是可以的,不会报异常
追问
那应该怎么去判断呢,那里不会异常呀
追答
怎么判断不知道,如果前面的程序打开使用的是共享的话,后面打开是不会出现异常的
如果前面打开不是共享的话,后面打开就会出现异常,比如像word打开一个文件你再打开就会出现异常
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式