サブフォルダーとファイルの階層を含むフォルダーがあります。
定期的に、ファイル/フォルダが変更/削除/追加されているかどうかを確認する必要があります。
私は次のようなアルゴリズムをゼロから開発することを考えています。
- 樹木全体の表現を組み込みデータベース(SQLiteなど)またはファイルに保存します。
- 各ファイルのチェックサムを同じデータベースに保存します。
- 次の呼び出しで、このデータベースを実際のファイルシステムと比較します。
- 変更されたことが判明したものでデータベースの情報を更新します。
- 手順3から繰り返します。
プログラムの実行中に変更が発生する可能性があります。プログラムはいつでも閉じたり開いたりできます。
たとえば、ユーザーは月曜日にプログラムを閉じ、火曜日にファイルを編集し、水曜日にプログラムを再度開くことができます。その間に何が変わったかを確認する必要があるため、FileSystemWatcherを使用できません。
車輪の再発明をする前に、これを行うライブラリはすでにありますか?
ノート:
- またはのようなVCSバイナリにアクセスできません。
git
svn
- 言語はC#ですが、小さなJavaライブラリを移植する準備ができています。
- これはオープンソースソフトウェア用であるため、オープンソースライブラリである必要があります。
- デスクトップウィジェットに埋め込むためのものなので、軽いほど良いです。