"该进程无法访问文件"错误?

tonglife 2004-01-19 11:59:07
在删除文件时报错:
---------------------------

---------------------------
Failed to connect to data sourceSystem.IO.IOException: 该进程无法访问文件“K:\BRAND_IMAGE\tmp\3237680.BMP”,因为该文件正由另一进程使用。

at System.IO.__Error.WinIOError(Int32 errorCode, String str)

at System.IO.File.Delete(String path)

at FoxtoSQL.Form2.btnConvert_Click(Object sender, EventArgs e)
---------------------------
确定
---------------------------

现在删除目录的任何一个文件都报这样的错
什么原因导致这样的错误?怎样解决这个错误??是不是因为时间太长造成的呢?
文件不是只读的,也不是存档的!目录也不是只读的。。。
...全文
91 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
巍巍清风 2004-01-19
  • 打赏
  • 举报
回复
可能是被VS.NET打开了,加了锁没释放。
那个BMP文件很可能是由于被一个Image.FromFile()打开了,在从这个文件创建的image没dispose之前,这个文件被锁定,不能删除。
98049522 2004-01-19
  • 打赏
  • 举报
回复
up
AhBian 2004-01-19
  • 打赏
  • 举报
回复
如果此文件——K:\BRAND_IMAGE\tmp\3237680.BMP 被 VS.NET 打开过(譬如作为 ImageList 的内嵌资源或者用 VS.NET 带的图形编辑工具编辑过),通常是被锁定的,解决的办法是关闭 VS.NET 以释放锁定,然后重新启动 VS.NET,再试试,是不是行了?

mainone 2004-01-19
  • 打赏
  • 举报
回复
那时因为你无权访问该进程的资源,被其他进程独占的
mainone 2004-01-19
  • 打赏
  • 举报
回复
你可以使用委托来做你想作的工作吗!!比如说 你想在线程中改变其他的一些变量的值,旧可以使用委托,
huangsuipeng 2004-01-19
  • 打赏
  • 举报
回复
你的硬盘是NTFS的嘛?
huangsuipeng 2004-01-19
  • 打赏
  • 举报
回复
GZ
tonglife 2004-01-19
  • 打赏
  • 举报
回复
我是这样删除文件的:
File.delete(str)
不需要dispose吧?
tonglife 2004-01-19
  • 打赏
  • 举报
回复
重启?不行的,,,我试过了
手工删除可以
yistudio 2004-01-19
  • 打赏
  • 举报
回复
三楼的方法一定可以,不过太过于麻烦
yistudio 2004-01-19
  • 打赏
  • 举报
回复
你以前打开了这个文件,但是在再次对其进行IO操作时,没有完全将前面打开的文件释放掉,这个由.NET自动管理,最好在使用完之后,手工将其释放掉,也就是说显示调用dispose方法。
  • 打赏
  • 举报
回复
reboot you machine,try it.
turnmissile 2004-01-19
  • 打赏
  • 举报
回复
你尝试用手动删除这个文件,如果不行的话就不是程序问题。否则检查程序中是否有同时对该文件读写的操作。

111,125

社区成员

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

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

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