none
FileSystemWatcher 元件 使用問題 RRS feed

  • 問題

  • 說明:FileSystemWatcher 元件 使用問題

    使用:VB.NET 2005
    程式碼 :
    ---------------------------------------------------------------------

        Dim WithEvents fileWatcher As New FileSystemWatcher  '宣告使用元件

        Private Sub fileWatcher_Created(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) _
          Handles fileWatcher.Created
            '將新增檔案複製到指定資料夾
            Try
                System.IO.File.Copy(e.FullPath, "c:\BB\test.txt")
                MsgBox("ok")
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try

        End Sub

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
          Handles MyBase.Load
            With fileWatcher
                .Path = "c:\aa\"  '監控此資料夾內的 "*.TXT" 檔案
                .Filter = "*.txt"
                .EnableRaisingEvents = True

            End With
        End Sub
    --------------------------------------------------------------------

    問題:當我將一個檔案 test.txt (約 5K)新增到 c:\aa\ 資料夾時,會正常複製到 c:\bb\ 資料夾
          但當將一個檔案 test.txt (越 5M)新增到 c:\aa\ 資料夾時,會秀出警告訊息。
        "由於另一個處理序正在使用檔案 'c:\aa\TEST.txt',所以無法存取該檔案。"

    原因應該是檔案很大,尚未完成新增到 c:\aa\ 時即要做 複製的工作。所造成的問題。

    請教各位先進,我該如何去判別檔案新增已完成,且允許複製到其他資料夾

    謝謝各位,感恩不盡

     

    2008年1月9日 上午 03:16

解答