2013-07-19 70 views
0

林開發vb.net應用程序框架4,我有個小問題 過程是這樣上傳文件之前之後,我會檢查是否已經存在,那麼我也將刪除這些文件,然後上傳新文件。它工作正常,只是某個時候返回TE以下錯誤,因爲它正在由花葯過程 這裏的進程無法訪問該文件是我的代碼刪除和移動文件

Function MoveFiels(ByVal fn As String) As Boolean 
     Dim flg As Boolean 
     Application.DoEvents() 
     Try 
      If File.Exists("des" & \fn) Then 
       File.Delete("des" & \fn) 
       txtErrors.Text &= vbCrLf & "File Deleted and Replace will New File = " & fn & vbCrLf 
       Application.DoEvents() 
      End If 
      System.Threading.Thread.Sleep(1000) 
      File.Move("source" & \fn, "des" & \fn) 
      flg = True 
     Catch ex As Exception 
      MsgBox(ex.Message) 
     End Try 
     Return flg 
+2

只是因爲我很好奇'File.Move(FN,FN)'? **來源**和**目的地**是**相等**? –

+0

哎呀對不起,實際上它是與不同的位置相同的文件。檢查目標位置,如果存在,則刪除然後移動文件。 –

回答

0

你爲什麼睡線程

System.Threading.Thread.Sleep(1000) 

? 我猜想這一定是給時間你的應用程序要刪除的文件?也許有時候時間不夠,這就是爲什麼你會得到這個錯誤。 如果你只是想等到該文件已被刪除,你可以嘗試

While System.IO.File.Exists("des" & \fn) 
End While 
File.Move("source" & \fn, "des" & \fn) 
+0

感謝您的想法,,,,我錯過了這一點刪除所有現有的文件,然後移動文件.......這是工作熟練..... –