Mimic File.Move, wenn das Ziel bereits vorhanden ist

Aus der Dokumentation vonFile.Move:

Beachten Sie, dass Sie eine IOException erhalten, wenn Sie versuchen, eine Datei zu ersetzen, indem Sie eine Datei mit demselben Namen in dieses Verzeichnis verschieben. Sie können die Move-Methode nicht zum Überschreiben einer vorhandenen Datei verwenden.

Kurz gesagt, Sie können nicht überschreibenMoveUm das Überschreiben beim Verschieben zu erleichtern, ahme ich das Verhalten nach, indem ich aFile.Copy gefolgt von einemFile.Delete. So etwas wie:

<code>if (File.Exists(dstFileName))
{
    // System.IO.File.Move cannot be used to overwrite existing files, so we're going
    // to simulate that behavior with a Copy & Delete.
    File.Copy(procContext.FileName, dstFileName);
    File.Delete(procContext.FileName);
}
else
    File.Move(procContext.FileName, dstFileName);
</code>

Meine Frage ist: Gibt es Situationen, vor denen ich mich schützen muss, die dazu führen könnten, dass die Quelldatei gelöscht wird, ohne dass sie zuvor erfolgreich kopiert wurde?

Mein Verständnis aus der Lektüre der Dokumentation ist das seitFile.Copy Gibt nichts zurück, das eine Ausnahme auslösen sollte, auf jeden Fall, wenn dies nicht erfolgreich ist. Hat jemand Situationen erlebt, in denen dies nicht zutrifft?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage