Я создаю приложение для резервного копирования файлов из исходного каталога в целевой каталог. Я храню информацию о файлах из исходной и целевой папок в отдельных списках, затем сравниваю списки по размеру, дате изменения и т. Д., Чтобы узнать, какие файлы необходимо скопировать.
В любом случае, дело в том, что я получаю список файлов, которые нужно скопировать, и мне хотелось бы знать, сколько времени занимает каждый файл, поэтому я попробовал следующие методы:
Техника 1
Техника 2
Техника 3: обычный File.Copy («источник ....», «Место назначения»)
Первые две техники великолепны, потому что я вижу прогресс. Проблема в том, что когда я копирую некоторые файлы с помощью этих методов, новый файл иногда имеет разные даты. Мне нужно, чтобы оба файла имели одинаковую дату изменения и одинаковую дату создания. Более того, если по какой-либо причине моя программа аварийно завершит работу, копируемый файл будет поврежден, потому что я попытался скопировать большой файл (файл, который занимает около минуты, чтобы скопировать его в Windows), если я выйду из своей программы, пока файл копируется. Копируемый файл иногда имеет одинаковые атрибуты и одинаковый размер, поэтому я хочу убедиться, что у меня нет поврежденных файлов в случае сбоя моей программы.
Может быть, я должен использовать эфирные методы 1 или 2, а затем в конце скопировать атрибуты из исходного файла и назначить их в целевой файл. Я не знаю, как это сделать, хотя.