のドキュメントからFile.Move
:
同じ名前のファイルをそのディレクトリに移動してファイルを置き換えようとすると、IOExceptionが発生することに注意してください。Moveメソッドを使用して既存のファイルを上書きすることはできません。
つまり、で上書きすることはできないMove
ため、Moveでの上書きを容易にするために、File.Copy
その後に。を実行することで動作を模倣しFile.Delete
ます。何かのようなもの:
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);
私の質問は次のとおりです。最初に正常にコピーされないままソースファイルが削除される可能性がある状況を防ぐ必要がありますか?
ドキュメントを読んだ私の理解は、File.Copy
何も返さないので、成功しなかった場合に例外をスローする必要があるということです。これが当てはまらない状況に遭遇した人はいますか?