FileSystemWatcher проблема с определенными именами файлов - PullRequest
0 голосов
/ 04 мая 2020

Использование FileSystemWatcher для поиска измененного файла на сетевом ресурсе.

Код прекрасно работает для всех файлов в папке, но не для файла с именем CUSEXP3.TXT Если я переименую файл в CUSTEXP3. TXT, FSW работает, как и CUS.TXT и CUSEXQ3.TXT

Любые мысли. Спасибо.

Спасибо. Попробуйте на локальном диске C и получите такое же поведение.

Код ниже. Файл представляет собой текстовый файл с запятой-разделителем, содержащий около 22000 строк. Однако довольно определенная проблема связана с именем файла, так как оно работает / не работает только путем переименования - поэтому размер, права доступа и т. Д. c не могут быть проблемой.

    watchfolder = New System.IO.FileSystemWatcher()

    'this is the path we want to monitor
    watchfolder.Path = txt_watchpath.Text

    'Add a list of Filter we want to specify
    'make sure you use OR for each Filter as we need to
    'all of those 

    watchfolder.NotifyFilter = IO.NotifyFilters.DirectoryName
    watchfolder.NotifyFilter = watchfolder.NotifyFilter Or
           IO.NotifyFilters.FileName
    watchfolder.NotifyFilter = watchfolder.NotifyFilter Or
         IO.NotifyFilters.Attributes
    watchfolder.NotifyFilter = watchfolder.NotifyFilter Or
         IO.NotifyFilters.LastWrite
    watchfolder.NotifyFilter = watchfolder.NotifyFilter Or
         IO.NotifyFilters.CreationTime
    watchfolder.NotifyFilter = watchfolder.NotifyFilter Or
         IO.NotifyFilters.Size
    watchfolder.NotifyFilter = watchfolder.NotifyFilter Or
         IO.NotifyFilters.Security
    watchfolder.NotifyFilter = watchfolder.NotifyFilter Or
         IO.NotifyFilters.LastAccess

    watchfolder.Filter = "*.txt"


    ' add the handler to each event
    AddHandler watchfolder.Changed, AddressOf logchange
    AddHandler watchfolder.Created, AddressOf logchange
    AddHandler watchfolder.Deleted, AddressOf logchange

    ' add the rename handler as the signature is different
    AddHandler watchfolder.Renamed, AddressOf logrename

    'Set this property to true to start watching
    watchfolder.EnableRaisingEvents = True

    btn_startwatch.Enabled = False
    btn_stop.Enabled = True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...