2009-08-31 13 views
1

ディレクトリ内のすべてのファイルをコピーする必要のあるバックアップツールを書いています。今私はC#のFile.Copy(String, String, Boolean)メソッドを使用しています。しかし、別のアプリケーション(私は変更できません)は同時に、そのディレクトリ内のファイルに書き込みます。File.Copyでファイルをコピーする

これで、ファイルがコピープロセスの途中で変更され、破損したバックアップファイルが作成される可能性がありますか?

ありがとうございました

答えて

3

いいえ、そうではありません。根底にあるファイルシステムは、これが起こっていないことを確認します。

+0

これを確認してさらに説明するオンラインソースをお持ちの人はいますか?私は自分でGoogleにしようとしましたが、まともなものは見つかりませんでした。 –

+1

上記の問題が実際に発生していますか?まともな説明があります:http://en.wikipedia.org/wiki/File_locking#In_Microsoft_Windowsあなたのファイルをどうやって開くのかによって決まります。私はあなたのためにFileInfo.CopyToがうまくいくはずだと確信しています。 – Rashack

+0

いいえ、記載された問題は発生しませんでした。しかし、バックアップツールは生産環境で非常に集中的に使用されるので、私は非常に注意しています。他のアプリケーションが私がバックアップしているファイルをどのように開くのかについては、私は何の制御もしていません。そして、File.Copyメソッドは、別のアプリケーションがファイルに対して書き込みロックを持っている(ただし、読み取りロックではない)場合にも機能することに気付きました。だから私は、ファイルの途中でコピーを作成してファイルを破損させる恐れがありました。私はこれが起こることができないことを確認する情報源を見つけることができれば、もっと安らかになるだろう。 –

関連する問題