2013-07-19 2 views
0

내가 VB에서 응용 프로그램 프레임 워크 4 개발, 나는 작은 문제가있다 프로세스는 파일을 업로드하기 전에 다음과 같은 간다, 나는 파일이 이미 존재하는지 확인한 다음 삭제하고 새 파일을 업로드합니다. 단지 언젠가 되돌아 잘 작동 당신이 스레드를 잠 않는 이유는 꽃밥 과정 여기 사용 중이기 때문에 프로세스가 파일을 액세스 할 수 없습니다 오류 다음 테는 내 코드파일을 삭제하고 이동

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

을 시도 할 수 있습니다? ** 소스 ** 및 ** 대상 **은 ** 평등 **입니까? –

+0

죄송합니다. 실제로는 위치가 다른 동일한 파일입니다. 목적지 위치를 체크인하십시오. 삭제가 존재하면 파일을 이동하십시오. –

답변

0

입니다

System.Threading.Thread.Sleep(1000) 

? 파일을 삭제하려면 앱에 시간을 줘야한다고 생각 했나요? 어쩌면 시간이 충분하지 않을 수 있으며, 그 때문에 오류가 발생합니다. 그냥 파일이 삭제되었습니다 때까지 기다려야합니다 나는`File.Move (FN, FN)`궁금해서 , 당신은

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

아이디어를 주셔서 감사합니다 ,,,, 나는 기존의 모든 파일을 삭제하고 파일을 옮기는이 시점을 놓쳤습니다 ....... 그것은 완벽하게 작동합니다 ..... –

관련 문제