Как определить, когда заканчивается копирование файла? - PullRequest
3 голосов
/ 17 марта 2010

Как определить, когда заканчивается копирование файла я использую c #

edit: мы копируем файлы по сети с одного компьютера на другой. моя задача - следить за каталогом и выполнять некоторые действия после копирования в него файлов.

Ответы [ 4 ]

6 голосов
/ 17 марта 2010

Если вы используете File.Copy(), то эта операция завершается после того, как файл фактически скопирован.

3 голосов
/ 17 марта 2010

Попробуйте просмотреть Событие создания FileSystemWatcher .

Некоторые распространенные случаи, такие как копирование или перемещение файла или каталога, не соответствуют непосредственно событие, но эти случаи вызывают события, которые будут подняты. Когда вы копируете файл или каталог, the system raises a Created event в каталоге какой файл был скопирован

2 голосов
/ 17 марта 2010

Периодически проверяйте размер. В любом случае, я рекомендую вам использовать CopyFileEx, который имеет функцию прогресса (http://msdn.microsoft.com/en-us/library/aa363852(VS.85).aspx)

1 голос
/ 17 марта 2010

Я недавно сталкивался с чем-то похожим. Я бы использовал атрибут open write для File, чтобы посмотреть, можете ли вы записать в файл: например FileStream fs = f.OpenWrite ();

если приведенное выше утверждение работает, то файл не используется, т.е. завершено копирование.

...