C # Windows Form, проверка различий между двумя папками и клонирование одной папки в другую, если обнаружены различия - PullRequest
0 голосов
/ 01 марта 2019

Я работаю над созданием приложения Windows Form на C #.

У меня есть два разных расположения папок, одно из которых обновляется с помощью Google File Stream (программное обеспечение Google Drive).

IМне нужно клонировать эту папку потока файлов Google в мою другую папку на локальном диске D и обновить ее, пока открыта моя форма Windows.

Я думал о сравнении различий между этими двумя папками, а затем о копировании различийиз одной папки в другую.

Я не уверен, как это сделать, любая помощь будет оценена.

1 Ответ

0 голосов
/ 01 марта 2019

Если ваша исходная папка является обычной папкой Windows (которая обновляется потоком файлов Google, а не папкой файлового потока Google), вы можете использовать класс FileSystemWatcher.Этот класс просматривает папку на наличие указанных изменений и вызывает события, когда они происходят (что ваше приложение может затем обработать).

Вот статья, которую я использовал, когда мне нужно было сделать что-то подобное (просмотр папки на предмет изменений) Как работать с наблюдателем файловой системы в C #

В случае, если статья переходит в автономный режим, вот краткая информация, взятая непосредственно из нее:

Следующий фрагмент кода показываеткак будет выглядеть метод MonitorDirectory.Этот метод будет использоваться для мониторинга определенного каталога и генерирования событий при каждом изменении.Путь к каталогу передается методу в качестве аргумента.

private static void MonitorDirectory(string path)
        {
            FileSystemWatcher fileSystemWatcher = new FileSystemWatcher();
            fileSystemWatcher.Path = path;
            fileSystemWatcher.Created += FileSystemWatcher_Created;
            fileSystemWatcher.Renamed += FileSystemWatcher_Renamed;
            fileSystemWatcher.Deleted += FileSystemWatcher_Deleted;
            fileSystemWatcher.EnableRaisingEvents = true;
        }

Вы можете заменить свои собственные обработчики событий (или реализовать их с именами выше).

Для получения дополнительного бонуса вы также можете использовать свойство фильтра FileSystemWatcher для нацеливания на определенные типы файлов.

Полная документация по Документы Microsoft

...