Это хорошо отражено в .NET Framework.Используйте метод File.Replace () .Он надежно заменяет содержимое вашего исходного файла содержимым другого файла, оставляя оригинал в такте, если есть какие-либо проблемы с файловой системой.Это лучшая ловушка для мыши, чем для ответов с голосованием, они потерпят неудачу при ожидающем удалении исходного файла.
Существует перегрузка, которая позволяет вам контролировать, сохраняется ли исходный файл как резервный файл.Лучше всего, если вы позволите функции создать резервную копию, это значительно увеличит шансы на успех функции, когда другой процесс заблокирует ваш файл, наиболее типичный режим сбоя.Они получат возможность сохранить файл резервной копии.Этот метод также работает лучше всего, когда вы создаете промежуточный файл на том же диске, что и исходный, поэтому вам следует избегать GetTempFileName ().Хороший способ создания имени файла - Guid.NewGuid (). ToString ().