System.IO.IOException: Невозможно создать файл, так как он уже существует

Хочу переместить текстовый файл в другую папку. Если в каталоге "D:\myflora\folder" пусто, то файл перемещается, но при повторной попытке переместить файл, выскакивает ошибка. Что я не так делаю?

string fileName = @"D:\Orders\Order_"+ orderID + ".txt";
string dir = @"D:\myflora\folder";
File.Move(fileName, Path.Combine(dir, Path.GetFileName(fileName)));

Ответы (2 шт):

Автор решения: CrazyElf

Используйте такой вариант вызова File.Move, но он есть только в .NET Core 3.0 и позднее:

File.Move(fileName, Path.Combine(dir, Path.GetFileName(fileName)), true);

public static void Move (string sourceFileName, string destFileName, bool overwrite);

overwrite Boolean: true для перезаписи конечного файла, если он уже существует; в противном случае — false.

→ Ссылка
Автор решения: timur

Если файл уже существует, File.Move выбрасывает исключение. Можно вызвать метод File.Delete перед вызовом File.Move:

string fileName = @"D:\Orders\Order_"+ orderID + ".txt";
string dir = @"D:\myflora\folder";

string path = Path.Combine(dir, Path.GetFileName(fileName));
File.Delete(path);
File.Move(fileName, path);
→ Ссылка