Как обнаружить изменения в папках через бит архива с помощью c # [duplicate]

У меня была эта проблема в моем дублированном проекте и решена путем проверки 2-х мест:

1- Убедитесь, что у вас есть .m-файл в списке -> Project - Build Phases - Compile Sources 2- После этого перейдите в построитель интерфейсов (возможно, это ошибка только с IB) и отмените все свойства, метки, изображения и т. Д. Затем перевяжите все. Я понял, что я удалил атрибут, но он все еще был связан в IB.

Надеюсь, что это сработает для некоторых.

16
задан jjxtra 21 May 2015 в 22:15
поделиться

2 ответа

Используйте класс FileSystemWatcher - он делает то, что вы хотите. Он не скажет вам, какие байты в файле изменились, но он скажет вам, какие файлы имеют изменения.

Из документа doc:

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

Чтобы следить за изменениями во всех файлах, установите для свойства Filter пустую строку ("") или используйте подстановочные знаки (". "). Чтобы посмотреть конкретный файл, установите для свойства Filter имя файла. Например, чтобы следить за изменениями в файле MyDoc.txt, установите для свойства Filter значение «MyDoc.txt». Вы также можете следить за изменениями в определенном типе файла. Например, чтобы следить за изменениями текстовых файлов, установите для свойства фильтра значение «* .txt».

Существует несколько типов изменений, которые вы можете наблюдать в каталоге или файле. Например, вы можете следить за изменениями атрибутов, датой и временем LastWrite или размером файлов или каталогов. Это делается путем установки свойства NotifyFilter в одно из значений NotifyFilters. Дополнительные сведения о типе изменений, которые вы можете посмотреть, см. В разделе NotifyFilters.

Вы можете наблюдать за переименованием, удалением или созданием файлов или каталогов. Например, чтобы наблюдать за переименованием текстовых файлов, установите для свойства Filter значение «* .txt» и вызовите метод WaitForChanged с переименованным, указанным для его параметра.

28
ответ дан LBushkin 20 August 2018 в 20:50
поделиться
  • 1
    он ОБЯЗАТЕЛЬНО скажет вам, какие файлы имеют изменения. Я протестировал это. При большой нагрузке его не 100%. – P.Brian.Mackey 9 July 2010 в 19:52
  • 2
    существует также множество «gotchas», следить за выполнением. Обязательно прочитайте всю документацию. Возможно, вам придется повторно инициализировать наблюдателя время от времени при возникновении ошибки. – Garo Yeriazarian 9 July 2010 в 19:54
  • 3
    Блестяще, спасибо! – jjxtra 9 July 2010 в 22:33
  • 4
    Будет ли FileSystemWatcher показывать, какие файлы были изменены с помощью какой программы (т. Е. Определить, когда example.txt редактируется с помощью Блокнота)? – Anderson Green 29 December 2012 в 04:50
5
ответ дан Makotosan 20 August 2018 в 20:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: