首页 新闻 会员 周边

C# 如何释放文件被占用的问题。

0
悬赏园豆:5 [已解决问题] 解决于 2014-09-04 17:38

直接调用File.Delete()方法删除文件有时候会删除不了,原因是文件被占用。如何解决文件被占用?

RinSing.Feng的主页 RinSing.Feng | 初学一级 | 园豆:30
提问于:2014-09-04 10:00
< >
分享
最佳答案
0

1、找到哪里使用了这个文件的代码,把打开文件的句柄(stream对象)记录下来,使用完后,对这个stream使用close命令。

2、养成习惯,使用using语句:

using(stream s = openfile())

{

//工作

}

收获园豆:5
519740105 | 大侠五级 |园豆:5810 | 2014-09-04 11:03

如何得到打开这个文件的句柄,我只知道文件的名字。

RinSing.Feng | 园豆:30 (初学一级) | 2014-09-04 11:31

@RinSing.Feng: 你总有打开文件的地方吧?

比如File.Open,FileInfo.Open之类的。

519740105 | 园豆:5810 (大侠五级) | 2014-09-04 11:39

@RinSing.Feng: 他的意思是这个文件多半也是你的系统上次锁定的,让你把系统检查一下。

避免出现锁定的状态。

如果是你自己锁定的,把软件写好就行了。

如果不是,只能重启系统了,而且还不保证能解决...

这是逻辑问题,不是代码问题

你仔细想想吧,再问也没有用的。

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-09-04 17:35
其他回答(5)
0

重启动电脑....

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-09-04 10:10

如何用代码释放.....

支持(0) 反对(0) RinSing.Feng | 园豆:30 (初学一级) | 2014-09-04 10:10

@RinSing.Feng: 这么说吧,你想干掉一个人,却发现他被关在监狱里面,你能怎么办?

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2014-09-04 10:12

@爱编程的大叔: 找钥匙进去再干掉!

支持(0) 反对(0) RinSing.Feng | 园豆:30 (初学一级) | 2014-09-04 10:14

@RinSing.Feng: 问题是双规,你不知道在哪儿。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2014-09-04 10:16
0

被谁占用,找谁释放

dudu | 园豆:30994 (高人七级) | 2014-09-04 10:16

还是DUDU老江湖了,我不赞成潜规则的,所以就没有指点他干这事。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2014-09-04 10:24
0

找钥匙进去再干掉!

戴眼镜的杀手 | 园豆:240 (菜鸟二级) | 2014-09-04 10:20
0

直接远程狙击。

晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-09-04 10:41
0

先要知道被谁占用了。

Firen | 园豆:5385 (大侠五级) | 2014-09-04 11:11

顶。

支持(0) 反对(0) 钻葛格 | 园豆:342 (菜鸟二级) | 2014-09-04 11:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册