0

私は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
4

1 に答える 1

0

スレッドをスリープ状態にする理由

System.Threading.Thread.Sleep(1000)

? ファイルを削除するためにアプリに時間を与える必要があると思いましたか? 時間が足りず、エラーが発生する場合があります。ファイルが削除されるまで待ちたい場合は、試すことができます

While System.IO.File.Exists("des" &  \fn)
End While
File.Move("source" & \fn, "des" &  \fn)
于 2013-07-19T11:11:29.190 に答える