日期:2014-05-18  浏览次数:21153 次

使用File.copy()后用File.Delete()删除源文件失败
问题:使用File.copy(path1,path2,true)后用File.Delete(path1)删除path1文件失败。报异常,path1文件正被其他进程使用。估计是File.copy()的结束以后没有及时释放path1所对应的文件。
现在如何释放path1,保证能够在复制以后马上将path1文件删除?
哪位有好的方法,谢谢。

------解决方案--------------------
一个线程正在移动这个文件当前线程当然不能删除了
可以做个标记,一个线程正处理某个文件时,另一个线程就不要处理这个文件

FileStream fs = new FileStream (inputFile, FileMode.Open, FileAccess.Read);
------解决方案--------------------
thread.Sleep(2000);等下再删
------解决方案--------------------
为啥不用File.Move