请问一个文件资源被占用的问题,我应该怎么释放文件资源

liushimen 2010-01-25 04:17:15
我需要转移文件从path_file1转移到path_file2
System.IO.File.Move(path_file1, path_file2)

然后进行一些操作之后要删除path_file2
System.IO.File.Delete(path_file2)//报错,,,该文件正由另一进程使用,因此该进程无法访问该文件

但是在删除的时候报错
提示错误:“C:\\.........”正由另一进程使用,因此该进程无法访问该文件

我知道可能是path_file2资源被占用了,请问要怎么释放path_file2的资源
...全文
323 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nixiang12 2010-01-25
  • 打赏
  • 举报
回复

FileInfo fi = new FileInfo(path_file2);
fi.Attributes = FileAttributes.Normal;
fi.Delete();

这样就行了 删除前修改下它的属性
wxm3630478 2010-01-25
  • 打赏
  • 举报
回复
测试了一下,System.IO.File.Move(path_file1, path_file2) 问题不是出在这里

[然后进行一些操作]------不知道你这里的操作是什么操作--------可能出在这些操作上

你可能对文件进行读写操作了,有可能没有关闭IO流吧

yahle 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 liushimen 的回复:]

然后进行一些操作之后要删除path_file2
[/Quote]

检查一下这里的操作代码,看会不会有没关闭的情况。
streamreader(文件名),时一般不会关闭,需要手动关闭。
wxm3630478 2010-01-25
  • 打赏
  • 举报
回复
File类还真不知道怎么搞.....他本身没有提示什么关闭或者释放资源的方法和属性
falx2004 2010-01-25
  • 打赏
  • 举报
回复
你这些操作是对文件操作么?如果是,那么估计是这些操作占用了
nixiang12 2010-01-25
  • 打赏
  • 举报
回复
先把他改个属性就行了
然后删除..

具体忘记了
以前那么做过

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧