Vb.net 删除和移动文件

Vb.net 删除和移动文件,vb.net,file,stream,Vb.net,File,Stream,我正在开发vb.net应用程序框架4,我有一个小问题 在上传文件之前,我会检查文件是否已经存在,然后删除它们,然后上传新文件。只有在出现以下错误时才会正常工作进程无法访问该文件,因为另一进程正在使用该文件 这是我的密码 Function MoveFiels(ByVal fn As String) As Boolean Dim flg As Boolean Application.DoEvents() Try If File

我正在开发vb.net应用程序框架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

你为什么睡线

System.Threading.Thread.Sleep(1000)
?? 我想一定是给你的应用程序时间删除文件?也许有时候时间不够,这就是为什么你会出错。 如果您只想等待文件被删除,您可以尝试

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

只是因为我好奇
File.Move(fn,fn)
?源和目标是相等的?哦,对不起,实际上是同一个文件,但位置不同。签入目标位置,如果存在,请删除,然后移动文件。感谢您的想法,,,,我错过了先删除所有现有文件,然后移动文件的要点。。。。。。。这是工作的完美。。。。。