2012-02-16 13 views
3

新しいファイルが連続して追加されるフォルダ(folder1と呼ぶことができます)があります。私は、folder1に存在する各ファイルのログファイル(ファイルの絶対パスとサイズを含む)を維持しています。このログファイルは、folder1からfolder2にファイルをコピーするために使用します。C#:ディレクトリに追加された各ファイルを追跡し、fileinfoをファイルに記録する方法は?

これは私がWindowsサービスを作成する連続的なプロセスですが、後でそれを行うためのものです。

まず、フォルダを監視し、変更を探し、folder1のファイルリストを介してイベントループを調べ、fileinfo(つまりファイルのパスとサイズ)を追加するタイマー/ファイルシステムウォッチャーについて考えています。 )をログファイル(通常の.txtファイル)にコピーします。

私の質問はこれを行う効率的な方法ですか?速く効率的なやり方はありますか?

ご意見やご提案をいただければ幸いです。

答えて

6

FileSystemWatcherクラスをチェックしてください。それはあなたが探しているものだけを行うことを意図しています。

特に、Createdイベントを処理する必要があります。 MSDNには、これを設定する方法を示す完全なサンプルがあります。

+0

これは私の計画です。しかし、私の質問は、これを達成する他の方法がありますか? – Ash24

+1

私はなぜあなたが*これを使いたくないのか自分に尋ねなければならないと思います。これはファイルシステムに直接接続されているため、イベントを見逃すことはありません。タイマーや他の自作のソリューションでは、おそらくあなたはそうです。 'FileSystemWatcher'は、正確にこの理由のために書かれました。ホイールを再発明する必要はありません。 – Yuck

+0

真。私はFileSystemWatcherが仕事をしていることを知っていますが、ドキュメンテーションとFileSystemWatcherについての質問を行った後、stackoverflowで私はそれを使用することに懐疑的です。もしそこに何もないなら、私はそれで生きなければならないかもしれません。見ていただきありがとうございます。 – Ash24

関連する問題