我的BIN目录中有三个文件夹。
1)积压 2)InProgress 3)完成
Backlog文件夹中有TXT文件。在某些操作过程中,我使用以下代码将文件从“Backlog”复制到“InProgress”。
System.IO.File.Copy(source,target,true);
文件已成功复制到目标文件夹。现在我想从“Backlog”中删除原始文件。所以我使用了下面的代码。
System.IO.File.Delete(source);
它绕过异常,“进程无法访问文件源......”
我认为它与垃圾收集有关,我需要使用“USING”语句来销毁它。但是我在下面试过,它说使用的语法是错误的:(
using(System.IO.File.Copy(source,target,true)){}
我在MOVE下方尝试过,但我仍然遇到同样的错误。
using(System.IO.File.Move(source,target))
注意:在将文件从FOLDER 1移动到FOLDER 2期间,MOVE成功, 在将文件从FOLDER 2移动到FOLDER 3时,MOVE失败,
所以我觉得,在第一次移动之后,我们必须重置一些东西吗?
完整代码
string filepathBackLog = AppSettings["Backlog"];
string filepathInProgress = AppSettings["InProgress"];
string filepathCompleted = AppSettings["Completed"];
if(!System.IO.File.Exists(filepathBackLog ))
return;
System.IO.File.Move(filepathBackLog ,filepathInProgress ); //Success, I can see it in folder.
System.IO.File.Move(filepathInProgress ,filepathCompleted );//Exception, I think we need to give some time to execute first MOVE.
请指导我如何解决这个问题?