2017-04-05 4 views
-1

FileSystemWatcherクラスにコピーイベントがないようです。FileSystemWatcherコピーイベント

コピーはどのように検出できますか?

現在、監視フォルダ内のすべてのMD5チェックサムにインデックスを付けました。重複するMD5の場合は、Createイベントごとにインデックスの線形検索を実行するだけですか?

+0

いくつかのコードが役に立ちます。何を試しましたか?あなたのコードを見てみましょう。 –

+0

コードは本当にこの質問に適していますか?これはコードよりも論理的な問題です。 – Tobiq

+0

コピーとは、単にフォルダ内に新しいファイルを作成することです。それは他のものではないので、コピーを検出するには、代わりにcreateを処理する必要があります。それがコピーか新しいファイル操作のどちらであるかは、その情報で何が必要か、そしてその違いについてどれだけ重要であるかによって決まります。 –

答えて

0

FileSystemWatcherクラスは低レベルの入力を受け取りますので、コピー&の移動操作では本質的にCreateがついています。

ハッシュを作成し、それらを比較することは、恐らくコピーを検出する唯一の信頼できる方法でしょう。

悲しいことに、悲しいことに、1つまたは複数のファイルが変更された場合のCPU /ドライブリソースコストが比較的高いなど、いくつかの大きな欠点もあります。あなたはファイルの変更を監視し、それらのハッシュを最新の状態に保つ必要があるからです。大きなファイルについて考えると、それらのハッシュを計算するのに時間がかかることがあります。コピー操作が完了しても、そのハッシュ更新を計算する必要がある場合はどうしたらよいでしょうか?その時点で、あなたは1つと認識していない野生のコピーがあります。

関連する問題